Inspiration
The bulk of the inspiration came from Geocaching, Pokémon Go and CryptoKitties.
Ethereum gaming, especially off-chain capable gaming is very interesting to us.
What it does
The device operated like an iBeacon, in a completely un-paired mode (using only BLE advertising packets) but contains a private key, which is registered on the blockchain in a contract which allows messages signed by the beacon to be redeemed for a unique (ordered) ERC-721 token.
The entire system can work entirely offline (for example, a Geocache in the middle of a forrest with no cellular connection) and all tokens can be kept and collected off-chain. Proving ownership can also be performed completely off-chain. Redeeming to on-chain through the contract is only required to trade the token or if there is concern the beacon device is suspect or compromised.
The device also has a proof-of-work system to throttle the rate at which tokens can be given out with a cool down.
How we built it
Using an nRF24L01+ and an Arduino, and a custom build of Ethers Wallet, which had additional JavaScript calls added to expose the necessary BLE capabilities of the phone. No soldiering required.
Challenges we ran into
The BLE libraries do not do a good job of cleaning up after themselves and are not well designed for a system which needs to switch between both sending and receiving BLE packets. In general hardware adds an additional level of complexity and things "just not working", and once you move to wireless data, that is hugely exaggerated.
The amount of BLE chatter is unbelievable, and when you don't even know if your device is working, trying to pick it out of a collection of 190 BLE scanned devices becomes tedious. :)
Accomplishments that we're proud of
It works! It was touch and go for a while, but then we had a good run of things not failing. We managed to get in a few stretch goals (animations, nicer UI), missed a few (procedurally generated critters).
What we learned
How much sleep matters...
What's next for Cthylla
Building 100 or so of them, and hiding them around Toronto and our upcoming travels to France. Anyone can build one in their spare time in about 10 minutes, and for under $2, so we will likely run a small Meetup in Toronto for other who would like to build them
Built With
- arduino
- erc-721
- ethereum
- ethers
- ethers-wallet
- ios
- javascript
- objective-c
- solidity

Log in or sign up for Devpost to join the conversation.