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
79
BBc-1 ハンズオン : RFID タグによる物流追跡 / BBc-1 Hands-on : Using RFID Tags for Logistics Tracking
beyondblockchain
0
75
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
今日からあなたもGeminiを好きになる
subaruhello
1
600
新規事業におけるAIリサーチの活用例
ranxxx
0
160
メモ整理が苦手な者による頑張らないObsidian活用術
optim
0
130
少人数でも回る! DevinとPlaybookで支える運用改善
ishikawa_pro
3
930
経験がないことを言い訳にしない、 AI時代の他領域への染み出し方
parayama0625
0
190
「現場で活躍するAIエージェント」を実現するチームと開発プロセス
tkikuchi1002
6
1.1k
TROCCO今昔
gtnao
0
210
データエンジニアリング 4年前と変わったこと、 4年前と変わらないこと
tanakarian
2
380
20150719_Amazon Nova Canvas Virtual try-onアプリ 作成裏話
riz3f7
0
140
生成AIによる情報システムへのインパクト
taka_aki
1
160
Wasmで社内ツールを作って配布しよう
askua
0
130
みんな Kiro ってる?
r3_yamauchi
PRO
0
100
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
49
14k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
282
13k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
Testing 201, or: Great Expectations
jmmastey
43
7.6k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Optimizing for Happiness
mojombo
379
70k
Typedesign – Prime Four
hannesfritz
42
2.7k
Writing Fast Ruby
sferik
628
62k
Music & Morning Musume
bryan
46
6.7k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Transcript
BBc-1 Ethereum office@beyond-blockchain.org 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