Blockchain App Development

with JS and Hyperledger Sawtooth

Zac Delventhal

github.com/delventhalz

@delventhalz

  • Satoshi invents the "block chain" in 2008
  • Distributed consensus enforces trust
  • Potentially replaces any central authority

https://www.youtube.com/watch?v=Zc4UIpcgkR8

  • General purpose, modular
  • Focused on consortiums
  • Features a novel consensus model: PoET

What is a Blockchain Application?

  • Blockchain is the platform
  • Consumes and writes to blockchain state
  • The blockchain is the "server"

Signing

Private Key

Public Key

Message

Signature

Public Key

Signature

Message

?

(secp256k1)

  • Transaction payloads are opaque to Sawtooth
  • Pluggable processors handle this data
  • Can query and modify blockchain state
  • One per use case (usually)

Transaction Processors

State

Validator

Client

Processor

Transactions

and Batches

TransactionHeader

string batcher_pubkey
repeated string dependencies
string family_name
string family_version
repeated string inputs
string nonce
repeated string outputs
string payload_encoding
string payload_sha512
string signer_pubkey
bytes header
string header_signature
bytes payload
bytes header
string header_signature
repeated Transaction transactions
string signer_pubkey
repeated string transaction_ids
repeated Batch batches

Transaction

Batch

BatchHeader

BatchList

JavaScript SDK

Demo

Take Aways?

  • Blockchains are neat (or at least useful)
  • Potentially huge market in the next few years
  • They are already easy to develop for, and getting easier

Links

Made with Slides.com