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

Blockchain App Development

By delventhalz

Blockchain App Development

Learn how to use JavaScript and Hyperledger Sawtooth to develop your own blockchain applications from the ground up.

  • 1,436