Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
BBc-1 ハンズオン : Ethereum によるレッジャーサブシステム / BBc-1 H...
Search
beyond-blockchain.org
June 06, 2018
Technology
1
680
BBc-1 ハンズオン : Ethereum によるレッジャーサブシステム / BBc-1 Hands-on : Ledger Subsystem with Ethereum
BBc-1 Core に既存ブロックチェーン等による証明機能を付加するレッジャーサブシステムの、Ethereum 版を用いたチュートリアルのスライドです。
beyond-blockchain.org
June 06, 2018
Tweet
Share
More Decks by beyond-blockchain.org
See All by beyond-blockchain.org
BBc-2 ハンズオン さまざまな証明書の登録とその検証 / BBc-2 Hands-on Registration and Verification of Certificates
beyondblockchain
0
110
BBc-2 ハンズオン 基本インストール / BBc-2 hands-on Basic Installation
beyondblockchain
0
80
BBc-1 ハンズオン : RFID タグによる物流追跡 / BBc-1 Hands-on : Using RFID Tags for Logistics Tracking
beyondblockchain
0
77
BBc-1 ハンズオン : さまざまな証明書の登録とその検証(ウェブ版) / BBc-1 Hands on: Registry for Certificates and Verification (on Web)
beyondblockchain
0
180
BBc-1 ハンズオン : さまざまな証明書の登録とその検証 / BBc-1 Hands on: Registry for Certificates and Verification
beyondblockchain
1
240
BBc-1 ハンズオン : デジタル通貨の送金とスワップを通して学ぶBBc-1 トランザクション / BBc-1 Hands on: Digital Currency Transfer and Swap
beyondblockchain
2
390
BBc-1 ハンズオン : インストールとファイル内容証明 / BBc-1 Hands-on : Installation and File-content Proof
beyondblockchain
2
1.4k
BBc トラスト / BBc Trust
beyondblockchain
1
160
BBc-1 設計文書 / BBc-1 (Beyond Blockchain One) Design Paper
beyondblockchain
0
150
Other Decks in Technology
See All in Technology
あなたの知らない OneDrive
murachiakira
0
240
mruby(PicoRuby)で ファミコン音楽を奏でる
kishima
1
230
ZOZOTOWNフロントエンドにおけるディレクトリの分割戦略
zozotech
PRO
16
5.3k
見てわかるテスト駆動開発
recruitengineers
PRO
4
330
広島発!スタートアップ開発の裏側
tsankyo
0
240
「守る」から「進化させる」セキュリティへ ~AWS re:Inforce 2025参加報告~ / AWS re:Inforce 2025 Participation Report
yuj1osm
1
130
実践アプリケーション設計 ②トランザクションスクリプトへの対応
recruitengineers
PRO
2
160
[CVPR2025論文読み会] Linguistics-aware Masked Image Modelingfor Self-supervised Scene Text Recognition
s_aiueo32
0
210
VPC Latticeのサービスエンドポイント機能を使用した複数VPCアクセス
duelist2020jp
0
230
認知戦の理解と、市民としての対抗策
hogehuga
0
320
JOAI発表資料 @ 関東kaggler会
joai_committee
1
280
開発と脆弱性と脆弱性診断についての話
su3158
1
1.1k
Featured
See All Featured
Scaling GitHub
holman
462
140k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Become a Pro
speakerdeck
PRO
29
5.5k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
A better future with KSS
kneath
239
17k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
The World Runs on Bad Software
bkeepers
PRO
70
11k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
183
54k
Testing 201, or: Great Expectations
jmmastey
45
7.6k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Transcript
BBc-1 Ethereum
[email protected]
https://speakerdeck.com/beyondblockchain BBc-1 — Ethereum — 2022-11-14 –
p.1/22
Ethereum BBc-1 BBc-1 BBc-1 — Ethereum — 2022-11-14 – p.2/22
BBc-1 BBc-1 ( ) / (1) (2) (3) BBc-1 —
Ethereum — 2022-11-14 – p.3/22
#JUDPJO ##D$PSF ϨοδϟʔαϒγεςϜ ΞϓϦέʔγϣϯ ͦ ͷ ଞ ͞ · ͟
· ͳ Ξ ϓ Ϧ ͷ Մ ೳ ੑ ڞ௨ϥΠϒϥϦ ##D ։ൃ߲ Ҭ ௨ ՟ Ξ ϓ Ϧ ϙ Π ϯ τ Ξ ϓ Ϧ དྷ ྺ ূ ໌ Ξ ϓ Ϧ ʜ ॳظʹ͓͍ͯଘࡏূ໌Λґଘ ΞϯΧϦϯά ֤ϊʔυʹ͓͚Δهʹ ֤छσʔλϕʔεΛར༻Մೳ TRMJUF.Z42-ͦͷଞ%# BBc-1 σδλϧ௨՟ϥΠϒϥϦ ͦͷଞͷϥΠϒϥϦ CCDMJC 1ZUIPO (P +4 FUD Bitcoin Ethereum ( ) (Proof of Context) ( ) BBc-1 — Ethereum — 2022-11-14 – p.4/22
Ethereum Solidity Ethereum ( ) version 0.5 ledger subsystem py-solc-x
solc (dependencies) solc py-solc-x BBc-1 — Ethereum — 2022-11-14 – p.5/22
Solidity macOS + Homebrew $ brew tap ethereum/ethereum $ brew
install solidity Linux (Ubuntu 16.04 LTS ) (x86/AMD64 ) $ sudo apt install software-properties-common $ sudo add-apt-repository -y ppa:ethereum/ethereum $ sudo apt update $ sudo apt install solc ARM solidity git clone dependencies Windows 10 Linux (Ubuntu 16.04 LTS ) BBc-1 — Ethereum — 2022-11-14 – p.6/22
wget (macOS ) Ganache BBc-1 — Ethereum — 2022-11-14 –
p.7/22
wget (macOS ) macOS wget ( ) $ brew install
wget wget $ wget ( ) wget dyld: Library not loaded: /usr/local/opt/gettext/lib/libintl.8.dylib $ brew uninstall --force gettext $ brew install gettext BBc-1 — Ethereum — 2022-11-14 – p.8/22
Ganache Ethereum RPC npm ( ) macOS https://qiita.com/kyosuke5_20/items/c5f68fc9d89b84c0df09 Linux https://qiita.com/seibe/items/36cef7df85fe2cefa3ea
npm Ganache $ sudo npm install -g ganache BBc-1 — Ethereum — 2022-11-14 – p.9/22
Python3 bbc1 : https://speakerdeck.com/beyondblockchain/bbc-1-hands-on-installation-and-file-content-proof BBc-1 Core BBc-1 — Ethereum —
2022-11-14 – p.10/22
git clone $ git clone -b develop https://github.com/beyond-blockchain/ledger_subsystem.git $ cd
ledger_subsystem tar pip (Python ) $ python setup.py sdist $ pip install dist/ledger_subsystem-0.16.tar.gz dist tar pip install Brownie (Python Ethereum ) BBc-1 — Ethereum — 2022-11-14 – p.11/22
Ethereum infura.io Brownie Ethereum ETH BBcAnchor BBc-1 — Ethereum —
2022-11-14 – p.12/22
infura.io infura.io ID https://infura.io SIGN UP PROJECT ID infura Ethereum
API infura.io PROJECT ID WEB3_INFURA_PROJECT_ID PROJECT ID (∼/.bash_profile ) $ export WEB3_INFURA_PROJECT_ID= PROJECT ID BBc-1 — Ethereum — 2022-11-14 – p.13/22
Brownie “bbc_core.py” BBc-1 Core bbc_core.py Brownie $ eth_subsystem_tool.py -w ~/.bbc1
brownie ID BBcAnchor Linux (ARM) (AMD64 ) $ python # >>> import solcx >>> solcx.compile_solc(’0.5.17’) # >>> quit() /tmp ~/.solcx/solc-v0.5.17 BBc-1 — Ethereum — 2022-11-14 – p.14/22
Ethereum görli Ethereum $ eth_subsystem_tool.py -w ~/.bbc1 account görli Ethereum
$ eth_subsystem_tool.py -w ~/.bbc1 new_account BBc-1 Core BBc-1 — Ethereum — 2022-11-14 – p.15/22
g¨ orli ETH (0.1ETH ) Görli Testnet ETH Faucet ETH
https://goerlifaucet.com ( ) ( ) https://metamask.io/ ETH ( ) $ eth_subsystem_tool.py -w ~/.bbc1 balance wei (1 ETH = 1000000000000000000 wei) BBc-1 — Ethereum — 2022-11-14 – p.16/22
BBcAnchor ( ) $ eth_subsystem_tool.py -w ~/.bbc1 deploy BBcAnchor deployed
at BBc-1 Core BBc-1 — Ethereum — 2022-11-14 – p.17/22
BBcAnchor.sol ( ) contract BBcAnchor { mapping (uint256 => uint)
public _digests; constructor () public { } function getStored(uint256 digest) public view returns (uint block_no) { return (_digests[digest]); } function isStored(uint256 digest) public view returns (bool isStored) { return (_digests[digest] > 0); } function store(uint256 digest) public returns (bool isAlreadyStored) { bool isRes = _digests[digest] > 0; if (!isRes) { _digests[digest] = block.number; } return (isRes); } } BBc-1 — Ethereum — 2022-11-14 – p.18/22
BBc-1 — Ethereum — 2022-11-14 – p.19/22
(“bbc_core.py” ) $ eth_subsystem_tool.py -w ~/.bbc1 config_demo 100 30 domain_id
( ) “bbc_core.py” $ eth_subsystem_tool.py -w ~/.bbc1 -d enable BBc-1 — Ethereum — 2022-11-14 – p.20/22
3 $ eth_subsystem_tool.py -w ~/.bbc1 -d register_demo 3 transaction_id (
) $ eth_subsystem_tool.py -w ~/.bbc1 -d verify 30 verify BBc-1 — Ethereum — 2022-11-14 – p.21/22
Ethereum verify “eth_subsystem_tool.py” “subsystem_tool_lib.py” BBc-1 — Ethereum — 2022-11-14 –
p.22/22