Ethereum Jam
Let's have fun with Ethereum
Ethereum
The world's computer!
![](https://s3.amazonaws.com/media-p.slid.es/uploads/452350/images/2239896/ETHEREUM-YOUTUBE-PROFILE-PIC.png)
Your weapons
- Blockchain
- Ether (GAS)
- Solidity (smart contract)
- Whisper
- IPFS
- Any browser framework
- your creativity
Smart contract
- Your game rules
- Your game state
- Account management out of the box
- Easy to implement "accounting system" (for money, points ...)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/452350/images/2239896/ETHEREUM-YOUTUBE-PROFILE-PIC.png)
contract MyGame is Game{
function attack(uint army_size, address opponent)
{
if(hasEnoughArmy(sender)){
attackOpponentWithArmy(sender, opponent,army_size);
}
}
function attackOpponentWithArmy(address me, address opponent, uint army_size){
//do something here
}
}
Dev libs and tools
- Whisper PubSub protocol
- Web3 javascript lib
- test RPC
- ethereumjs-tx
- truffle
- IPFS (and the client lib)
- Game Engine / Framework
![](https://s3.amazonaws.com/media-p.slid.es/uploads/452350/images/2254142/site-logo.png)
Ether camp
- Your Ethereum provider
- IDE
- transaction explorer / debugger
- contract explorer / debugger
![](https://s3.amazonaws.com/media-p.slid.es/uploads/452350/images/2254145/ethercamplogo.png)
Ether.camp DEMO
Useful links
- https://github.com/ethereum/wiki/wiki
- test.ether.camp
- www.ether.camp
- https://ether-camp-friends.slack.com
- https://github.com/ConsenSys/truffle
- https://github.com/ethereumjs/testrpc
- https://ipfs.io/
Hackathon
- In the browser
- Multiplayer
- Ethereum to take care of your state
Basic principles
- NameReg and blockchain immutability
- How to call a contract from JavaScript
- Difference between a call and a transaction
- read / write separation
- smart contract logging
- transaction synchronization
- questions?
Roundtable
Brainstorming!
Let's hack!
Ethereum Jam
By David Roon
Ethereum Jam
Zurich Hackathon - Build a game with Ethereum!
- 600