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
660
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
98
BBc-2 ハンズオン 基本インストール / BBc-2 hands-on Basic Installation
beyondblockchain
0
56
BBc-1 ハンズオン : RFID タグによる物流追跡 / BBc-1 Hands-on : Using RFID Tags for Logistics Tracking
beyondblockchain
0
65
BBc-1 ハンズオン : さまざまな証明書の登録とその検証(ウェブ版) / BBc-1 Hands on: Registry for Certificates and Verification (on Web)
beyondblockchain
0
170
BBc-1 ハンズオン : さまざまな証明書の登録とその検証 / BBc-1 Hands on: Registry for Certificates and Verification
beyondblockchain
1
230
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.3k
BBc トラスト / BBc Trust
beyondblockchain
1
150
BBc-1 設計文書 / BBc-1 (Beyond Blockchain One) Design Paper
beyondblockchain
0
130
Other Decks in Technology
See All in Technology
飲食店データの分析事例とそれを支えるデータ基盤
kimujun
0
180
CDCL による厳密解法を採用した MILP ソルバー
imai448
3
170
AWS Lambda のトラブルシュートをしていて思うこと
kazzpapa3
2
180
個人でもIAM Identity Centerを使おう!(アクセス管理編)
ryder472
4
230
Engineer Career Talk
lycorp_recruit_jp
0
190
エンジニア人生の拡張性を高める 「探索型キャリア設計」の提案
tenshoku_draft
1
130
誰も全体を知らない ~ ロールの垣根を超えて引き上げる開発生産性 / Boosting Development Productivity Across Roles
kakehashi
2
230
安心してください、日本語使えますよ―Ubuntu日本語Remix提供休止に寄せて― 2024-11-17
nobutomurata
1
1k
BLADE: An Attempt to Automate Penetration Testing Using Autonomous AI Agents
bbrbbq
0
320
心が動くエンジニアリング ── 私が夢中になる理由
16bitidol
0
100
DynamoDB でスロットリングが発生したとき_大盛りver/when_throttling_occurs_in_dynamodb_long
emiki
1
440
AI前提のサービス運用ってなんだろう?
ryuichi1208
8
1.4k
Featured
See All Featured
Code Review Best Practice
trishagee
64
17k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
What's new in Ruby 2.0
geeforr
343
31k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
How STYLIGHT went responsive
nonsquared
95
5.2k
Documentation Writing (for coders)
carmenintech
65
4.4k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Building Your Own Lightsaber
phodgson
103
6.1k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
93
16k
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