A Bluetooth server for Ethereum IoT clients. Location-based oracle services for mobile Dapps.

Animist's goal is to make signals exchanged between IoT devices and mobile Dapps transactionally available to smart-contracts on the Ethereum blockchain.


Components


Whale Island

A micro-computer based Ethereum client and Bluetooth beacon that connects to mobile devices with a BLE server. Its API targets contract contingencies about location.


Services include:
  • Local authentication of contract participants.
  • Endpoints for contract method execution.
  • Endpoints for blockchain queries and payments.
  • Channels for contracts to broadcast BLE signal.
  • Contract API to verify client reception of signal.

  • Wowshuxkluh

    Angular/Ionic module with basic services for Ethereum account management and a suite of methods for connecting to Animist Bluetooth endpoints.


    Features include:
  • Contract compilation and deployment.
  • Contract acquisition for non-deploying parties.
  • Proximity triggered contract execution.
  • Backgrounded / killed-state app wake ups.

  • Wallowa

    A repository of Solidity contracts written around proximity detection events. A set of basic patterns and functions developers can adapt to generate their own location-based contracts.


    Also contains:
  • Full Solidity unit tests written with Truffle.
  • Continuous integration on Travis CI
  • Documentation for contract APIs

  • Wolves

    A fully decentralized example application for iOS and Android that lets contestants place stakes on a race from one Animist node to another and distributes rewards to the winner.


    Demonstrates how to:
  • Authenticate participant presence at a location.
  • Emit BLE signal from contracts on command.
  • Subscribe to pre-deployed contracts.
  • Set up proximity triggered contract outcomes.
  • Contact


    Animist is on GitHub and contributor friendly! Feel free to open issues or make a pull request.

    Stack