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
670
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
99
BBc-2 ハンズオン 基本インストール / BBc-2 hands-on Basic Installation
beyondblockchain
0
65
BBc-1 ハンズオン : RFID タグによる物流追跡 / BBc-1 Hands-on : Using RFID Tags for Logistics Tracking
beyondblockchain
0
67
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
140
Other Decks in Technology
See All in Technology
7日間でハッキングをはじめる本をはじめてみませんか?_ITエンジニア本大賞2025
nomizone
2
1.8k
Moved to https://speakerdeck.com/toshihue/presales-engineer-career-bridging-tech-biz-ja
toshihue
2
750
運用しているアプリケーションのDBのリプレイスをやってみた
miura55
1
730
Tech Blogを書きやすい環境づくり
lycorptech_jp
PRO
1
240
PHPカンファレンス名古屋-テックリードの経験から学んだ設計の教訓
hayatokudou
2
330
Data-centric AI入門第6章:Data-centric AIの実践例
x_ttyszk
1
410
株式会社EventHub・エンジニア採用資料
eventhub
0
4.3k
(機械学習システムでも) SLO から始める信頼性構築 - ゆる SRE#9 2025/02/21
daigo0927
0
130
開発スピードは上がっている…品質はどうする? スピードと品質を両立させるためのプロダクト開発の進め方とは #DevSumi #DevSumiB / Agile And Quality
nihonbuson
2
3k
Oracle Cloud Infrastructure:2025年2月度サービス・アップデート
oracle4engineer
PRO
1
220
TAMとre:Capセキュリティ編 〜拡張脅威検出デモを添えて〜
fujiihda
2
250
Swiftの “private” を テストする / Testing Swift "private"
yutailang0119
0
130
Featured
See All Featured
Become a Pro
speakerdeck
PRO
26
5.1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1k
Embracing the Ebb and Flow
colly
84
4.6k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
A Tale of Four Properties
chriscoyier
158
23k
Side Projects
sachag
452
42k
Bash Introduction
62gerente
611
210k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
How STYLIGHT went responsive
nonsquared
98
5.4k
Fireside Chat
paigeccino
34
3.2k
Practical Orchestrator
shlominoach
186
10k
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