Download presentation
Presentation is loading. Please wait.
1
BlockChain Technology
2
Kenneth Hu A full stack web developer
3
a very special kind of Distributed Database
What is blockchain? a very special kind of Distributed Database 共同体区块链/ 共同體區塊鏈:(Consortium blockchains). 协作区块链(federated blockchain) 例子:Hyperledger以及德勤等会计所尝试的审计系统。 . Blockchains are a technology for shared databases. So you need to start by knowing why you are using a database
4
Avoidable Blockchain Mistakes
Misunderstanding or ignoring the purpose of blockchain technology Assuming that current technology is ready for production use Viewing blockchain technology purely as a database or storage mechanism Assuming interoperability among ledgers and platforms that don’t exist yet Assuming that today’s leading platforms will still be dominant (or even extant) tomorrow Assuming that smart contract technology is a solved problem Failure to incorporate a learning process
6
Decentralized Applications
7
Summary Front-end may be developed in any language
Connects directly to the blockchain network Invokes contracts functions User pay a small fee; Mine rewarded Data Stored in the contracts on the Ethereum network Data managed in contracts; state changes Contract generates events Transactions recorded on chain
8
Next step How do I install Blockchain?
What query language is used for Blockcahain? How do I CURD Blockchain? How do I architect a Blockchain application? Do you want or need this disintermediation? if your project does not fulfill every single one of these conditions, you should not be using a blockchain. In the absence of any of the first five, you should consider one of: (a) regular file storage, (b) a centralized database, (c) master–slave database replication, or (d) multiple databases to which users can subscribe.
9
Q: Which should I use?
10
Distributed ledger and Decentralized system
Decentralized system for exchange of value. Uses a shared distributed ledger. Transaction immutability achieved by way of blocks & chaining Leverage consensus mechanism for validating the transaction.
11
Blockchain Bitcoin Hyperledger Ethereum Everledger Quorum Chain
Smart Contract Everledger Quorum Chain BigChainDB MutileChain Chain -
15
Hyperledger Composer and Hyperledger Fabric
16
Typical Solution Architecture
17
Architecture
18
Prerequisites Hyperledger fabric Hyperledger composer Smart contract
Chaincode (run in Docker container) Go language (ready) Java (planned) NodeJS (planned) Environment Docker Vagrant Distributed Ledger RocksDB Kafka Hyperledger composer REST API JSON Javascript Npm Copmoser Query Langauge NodeJS Node-RED Yeoman Angular
20
Practice hyperledger composer Kafka-based Ordering Service
Installing hyperledger composer Developing Business Networks Developing Applications Hyperledger fabric Building your First Network Writing Your First Application Chaincode Tutorials Chaincode for Developers Chaincode for Operators Kafka-based Ordering Service
21
ledger Data added to the ledger CANNOT be Updated Or Deleted (Q: how to manger the chain) Anyone can validate the transaction with ower’s public key (How to do)
22
Case study
26
Prerequisites C++
27
Ethereum
28
Smart contract How write smart contract.
How to deploy a smart contract to test blockchain How to interact with smart contract
29
Prerequisites Computing language Solidity Geth
30
Smart contract – computer code write in multiple languages
Contract lives on the network Enforces rules Performs negotiated action. 1.Send Ethers 3. Widget shipped 4. Widget received 第三方托管(ESCROW) Seller Buyer 2.Holds Ethers In escrow 5. Release funds to seller
31
Gas User invoking the transaction pays for the execution.
32
INFURA Online INFURA
33
Zeppelin-solidity A Framework to build Secure Smart Contracts
- common contract security patterns In the Solidity language
34
Ethereum Dev Build Ethereum private chain
Run node and connected each other Familiar geth javascript console Build accounts , transactions and check block Run private chain miner RPC protocol usage and connection Ethereum Block explorer Smart Contract on Ethereum Mist Solidity Dapp programming
37
The Architecture of Decentralized Apps and Smart Contracts
When put smart contract into blockchain, how to CRUD
38
Smart contracts. If you think about a legal contract or a business agreement, it’s essentially a series of “if, then” statements.
39
Ethereum - Smart contract
The smart contract code is stored in ledger (blockchain?). Transactions can invoke smart contract function , which can be stateless or stateful, to perform business logic. If the code can access external information and system, via the system integration component.
41
Practice Install Ethereum- client Write smart contract by solidity
Compiler the smart contract by solidity compiler Deploy smart contract in the blockchain by web3.js
42
solidity Documentation Git : https://github.com/ethereum/solidity
web3.js : management.html#keyfiles Open source tools geth (version 1.5.9): CLI for running ethereum node brew: package manager for MacOS.
43
Truffle + Testrpc Truffle Testrpc
Testrpc
44
Ethereum-Development
build Ethereum private chain Connected between the nodes. Familiar with geth javascript console Create accounts, transactions, check block Operate private chain miner How to use RPC protocol Smart Contract on Ethereum Mist Solidity Dapp (Distributed Application) programming
45
Decentralized application
46
INFURA INFURA is Scalable Blockchain Infrastructure
Office websit : Running Mist with INFURA
48
Web App -> DAPP
49
BigChainDB – A Scalable Blockchain Database
Language Python NodeJS Environment BigChainDB Server Everledger | A Digital Global Ledger BigchainDB supports both public and private deployments.
52
decentralized storage (e.g. IPFS)
decentralized processing (“smart contracts”) Decentralized storage (ledgers, file systems, databases) Decentralized computing platforms (“blockchain platforms”)
53
MultiChain Language C# Python Java Javascript PHP Ruby
54
MultiChain Explorer – web-based browsing of blockchain activity.
MultiChain Web Demo – simple web interface for many APIs. C# MultiChainLib – C# wrapper for the MultiChain API by PBJ Cloud. MultiChainJavaAPI – Java wrapper for the MultiChain API by Worldline. MultiChain-Node – Javascript wrapper for the MultiChain API by Greg Piccolo. libphp-multichain – PHP wrapper for the MultiChain API by Kunstmaan Labs. Savoir – Python wrapper for the MultiChain API by DXMarkets. multichain-client – Ruby wrapper for the MultiChain API by The Open Data Institute. docker-multichain – Docker images for a simple 3-node MultiChain setup by Kunstmaan Labs. YobiChain – a private blockchain ecosystem preloaded with MultiChain and related tools.
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.