---
title: "香港開源區塊鏈活動 Hyperledger BootCamp 2019"
url: https://sammy.hk/%e9%a6%99%e6%b8%af%e9%96%8b%e6%ba%90%e5%8d%80%e5%a1%8a%e9%8f%88%e6%b4%bb%e5%8b%95-hyperledger-bootcamp-2019/
author: Sammy Fung
published: 2019-03-08T17:49:00+08:00
modified: 2021-06-01T17:53:43+08:00
description: "3月7-8日 Linux 基金會在香港數碼港舉行開源區塊鏈活動 Hyperledger BootCamp 2019，為 Hyperledger 旗下不同開源區塊鏈專案「開坑」，讓新開發者加速了解不同專案的入門方法，速成教導新開發者貢獻專案的程序。 BootCamp形式像BarCamp那像Unconfernce形式，由參…"
categories: ["開放源碼"]
tags: [blockchain, linux]
source: https://sammy.hk
---
[![](https://sammy.hk/wp-content/uploads/2021/06/hyperledger-bootcamp-2019-hk-02-800x445-1.jpg)](https://sammy.hk/wp-content/uploads/2021/06/hyperledger-bootcamp-2019-hk-02-800x445-1.jpg)3月7-8日 Linux 基金會在香港數碼港舉行開源區塊鏈活動 Hyperledger BootCamp 2019，為 Hyperledger 旗下不同開源區塊鏈專案「開坑」，讓新開發者加速了解不同專案的入門方法，速成教導新開發者貢獻專案的程序。

[![](https://sammy.hk/wp-content/uploads/2021/06/hyperledger-bootcamp-2019-hk-04-1024x768.jpg)](https://sammy.hk/wp-content/uploads/2021/06/hyperledger-bootcamp-2019-hk-04.jpg)BootCamp形式像BarCamp那像Unconfernce形式，由參加者設定每節題目。而不同之處是每節都需要參加者自備手提電腦，按不同專案和類型，分作12個10人大圓桌小組，跟主持（Session Leader）做一些習作和互動。主持按照該節目的，或多或少指導參加者作業，甚至交由參加者主導作業。另設三間10-20人培訓室，多作入門教學。

源自 IBM 釋出源碼的Hyperledger Fabric自然有不少人棒場，而筆者在兩日活動主要參加Hyperledger Iroha和Hyperledger Indy相關環節。

區塊鏈入門環節The Forest &amp; the Trees! The unifying foundations of Blockchain，為區塊鏈新手講解區塊鏈技術。

以下是筆者英文速記：

- DLT = Distributed Ledger Technology
- Hash and Message Digest
- Public Key Crypto
- Merkle Tree
- Transaction Chain
- Blockchain
    - Header- contains
    - Chaining-achieved through hashing of previous blocks
    - Merkle Root: Hash based data structure of transactions (here Hash of Block data)
- Permissioned vs Permissionless
- Block-Fabric
    - Blockchain
    - Additional items in header and transactions…..
- Block-Sawtooth
    - additional items in header an batches are to do with permission ledgers.

[![](https://sammy.hk/wp-content/uploads/2021/06/hyperledger-bootcamp-2019-hk-03-1024x768-1.jpg)](https://sammy.hk/wp-content/uploads/2021/06/hyperledger-bootcamp-2019-hk-03-1024x768-1.jpg)Hyperledger Indy需要懂Rust的開發者，所以設有入門環節Introduction to Rust and Cargo，讓不認識Rust的開發者快速了解這Rust語言。以下是筆者英文速記：

- WASM!!
    - Web app server -&gt; middleware -&gt; browser code, all in RUST!
- cargo init –bin myproject
- Cargo.toml
    - .toml json file in different layout.
- cargo build
- cargo run
    - Finished dev \[unoptimized + debuginfo\] target(s) in 4.53 secs
- optimised version
    - cargo build —release
    - Finished release \[optimized\] target(s) in 0.0 secs
- <https://doc.rust-lang.org/stable/book/>
- <https://doc.rust-lang.org/stable/cargo/>
- <https://doc.rust-lang.org/stable/rust-by-example/>
- <https://crates.io/>
    - More packages than Python, Node
    - Most Recommended Package: serde
        - a generice serialisation/deserialization framework
- IRON extensible web framework for rust
    - ironframework.io
- enum = data type
- pub fn fn\_name() {… } = public function
- for i in a {… } = for loop
- let, let out something = 0;
- impl

[![](https://sammy.hk/wp-content/uploads/2021/06/hyperledger-bootcamp-2019-hk-01-1024x768.jpg)](https://sammy.hk/wp-content/uploads/2021/06/hyperledger-bootcamp-2019-hk-01.jpg)筆者在Hyperledger Iroha入門環節Getting Started with Iroha Session I 的英文速記。

- Features
    - Command-driven architecture
        - Asset management
        - Identify management
    - Byzantine fault-tolerant ordering service and consensus
    - Role-based access control
    - Mutlo-signature transactions
    - Universal peer role and easy scripted deployment with Docker and Ansible
- Why Iroha
    - Distributed Ledger platform for simple use-cases of payments and identify storage.
    - Uses fixed set of commands 16 in total (eg. asset creation, transfers, account creation) and ?? queues.
- Successful Proof of Concept projects: cross-chain exchange, bank settlements, etc.
- Data structure
    - User account {account\_name}@{domain}
    - Each user have some Asset {asset\_name}#{domain}
- Works
    - Run Iroha locally
    - Create simple web service to interact with Iroha
- Workshop 1
    - Start Iroha node locally and perform several operations over it using CLI by following Getting Started document
        - [https://iroha.readthedocs.io/en/latest/getting\_started/](https://iroha.readthedocs.io/en/latest/getting_started/)
    - Get familiar with client java lib
    - obtain the wireframe example web server
    - implement needed functions by example from client java lib
    - check everything using Postman tool
    - <https://www.notion.so/Iroha-for-beginners-Practical-Part-c0983b5c3f1b4812b8ad9913feecb8a2>
    - Iroha in Python: <https://github.com/hyperledger/iroha-python>

irohad –config ~/config.docker –keypair\_name ~/node0

\[2019-03-07 10:57:01.576692300\] \[I\] \[CLI/ResponseHandler/Query\]: \[Account Assets\]
\[2019-03-07 10:57:01.576748700\] \[I\] \[CLI/ResponseHandler/Query\]: -Account Id:- test@test
\[2019-03-07 10:57:01.576762100\] \[I\] \[CLI/ResponseHandler/Query\]: -Asset Id- coolcoin#test
\[2019-03-07 10:57:01.576776500\] \[I\] \[CLI/ResponseHandler/Query\]: -Balance- 100.5

\[2019-03-07 10:57:40.420019600\] \[I\] \[CLI/ResponseHandler/Query\]: \[Account Assets\]
\[2019-03-07 10:57:40.420044900\] \[I\] \[CLI/ResponseHandler/Query\]: -Account Id:- admin@test
\[2019-03-07 10:57:40.420052900\] \[I\] \[CLI/ResponseHandler/Query\]: -Asset Id- coolcoin#test
\[2019-03-07 10:57:40.420063700\] \[I\] \[CLI/ResponseHandler/Query\]: -Balance- 100.0

筆者在Hyperledger Indy入門環節Getting Started with Indy的英文速記。

- Sovrin Foundation, Sovrin Alliance
- Identity
- Sovrin donate source code to LF.
- Most Bottom Layer: Indy-Crypto -&gt; HyperLedger Ursa
- Client side: Indy-SDK (libIndy &amp; libVCX), Agent (on top SDK) (Python, Node), Sovrin Connector-App
- Ledger side: Indy Plenum (Communicate with Nodes), Indy-Node (on top of Plenum)(Handling Identity), Sovrin Ledger plugin
- Look for: Agent Protocol, Schema2.0, DKMS Efforts (Decentrailised Key Management System), Ledger 2.0 (Python?).

然後是Indy Agent的英文速記。

- <http://indyscan.io/>
- <https://github.com/hyperledger/indy-agent>
- 跟Quickstart： <https://github.com/hyperledger/indy-agent/tree/master/python>
- 使用網卡IP地址而不用localhost
- <https://vonx.io/about/>
- <https://sovrin.org/library/>
- <https://github.com/streetcred-id>

在結束環節最後，Hyperledger 團隊宣佈 David Liu 被選為新的義務宣傳大使(ambassador)。

### 相關文章：

1. [難以預先安裝 Linux 在套裝電腦上嗎？](https://sammy.hk/difficult-preinstallation-brandmade-computer/ "難以預先安裝 Linux 在套裝電腦上嗎？")
2. [換硬碟的好幫手 – SystemRescueCd](https://sammy.hk/harddisk-replacement-with-systemrescuecd/ "換硬碟的好幫手 – SystemRescueCd")
3. [香港Linux軟件庫嚴重短缺](https://sammy.hk/shortage-of-linux-mirrors-in-hong-kong/ "香港Linux軟件庫嚴重短缺")
4. [OpenSSL Heartbleed (CVE-2014-0160) 解決方法](https://sammy.hk/openssl-heartbleed-cve-2014-0160-solution/ "OpenSSL Heartbleed (CVE-2014-0160) 解決方法")
