Pyethapp
- 接觸 Ethereum 網路的工具
- 架構
- 基本操作
接觸 Ethereum 網路的工具

- Go 語言實作
- 專案安全性要求嚴格
- 作為官方錢包 Mist 的底層
- 適合作為前端開發的接口

Geth
Eth
- C++ 語言實作
- 搞平行運算、搞效能的
- 搞 GPU 挖礦

pyethapp
- Python 語言實作
- 要求可讀性的專案
- 適合學術研究或 hack 自己的鏈
- 最歡迎外人貢獻
pyethapp 架構
pyethereum
pydevp2p
p2p 網路的函式庫
核心函式庫
區塊鏈、Ethereum 虛擬機、挖礦
管理帳號、送交易、做應用
基本操作
指令列
pyethapp run --console指令列會跳出 ipython 界面
背景會慢慢尋找網路中的節點並下載區塊
eth 物件
所有的功能都躲在它底下
觀察區塊鏈
- 觀察區塊
- 看看長輩
- 看看 header
- 看一筆交易
- 看看某個地址餘額
觀察節點
- 觀察現在有幾個 peer
- 停掉一些 peer
建立帳戶
$ pyethapp account new --uuid # 創建帳號
$ pyethapp account list # 列出帳號做筆交易吧
In [12]: acc_service = eth.services.accounts
In [13]: acc_service.accounts
Out[13]: [<Account(address=80705c7633fa7dcc6e92438f8af1d5a87bf9545c, id=None)>]
# 檢查是否帳號鎖住
In [15]: acct = acc_service.accounts[0]
In [18]: acct.locked
Out[18]: True
# 輸入密碼解鎖
In [9]: from getpass import getpass
In [10]: pw = getpass() # 避免密碼直接key 出來
Password:
In [21]: acct.unlock(pw)
In [22]: acct.locked
Out[22]: False
#送出交易
tx = eth.transact('80705c7633fa7dcc6e92438f8af1d5a87bf9545c', value=100)Pyethapp
By Chih-Cheng Liang
Pyethapp
- 1,671