An event state machine with a blockchain

We use an Ethereum blockchain as the event state machine for the money transfer system. A blockchain in this role is used for storing the following:

  • The mapping between telephone numbers and bank accounts
  • The overall state of each transfer transaction

Inside the blockchain, there are two kinds of smart contracts. The first one implements the repository pattern, and the second one implements the entity model.

We use Truffle (http://truffleframework.com/) to create this event state machine. Look at the subproject named eventmachine in the GitHub repository (https://github.com/chanwit/eventmachine).

Here's a smart contract under the entities/ directory, TransferState.sol. This smart contract maintains ...

Get Docker for Serverless Applications now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.