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_pubkeybytes header
string header_signature
bytes payloadbytes header
string header_signature
repeated Transaction transactionsstring signer_pubkey
repeated string transaction_idsrepeated Batch batchesTransaction
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,460