使用的client是Go語言寫的geth,到官方網頁按照步驟進行安裝。
NOTE: 因為geth會不斷更新,本篇的json檔和enode資料可能會不適用。
安裝好後,直接執行
geth
會自動連到以太坊的主鏈並開始同步。
應11/26在北科大的區塊鍊愛好者年會,我們社群在第二天早上會有一場worksop。說是workshop,但我們時間實際只有大約150分鐘,不夠時間讓大家一起動手,只有台上演示一下而已。所以先筆記下要講的東西,到時候大會照這篇文件做,也好讓底下觀眾容易跟上。
在實際動手之前,我們先來瞭解一下Ethereum smart contract是怎麼一回事。
接下來是介紹RPC、IPC及架設觀察網路狀態的ethstats,這部分並非必要,如果沒有需要這些功能可以省略。
如果要開啟RPC功能,在geth加入--rpc參數,RPC預設的port是使用8545,可以用--rpcport來指定。其他還有--rpcapi來指定要開放RPC使用的API,預設是eth、net和web3三個模組(常用的還有personal和admin兩個模組,但因為涉及節點控制權還有私鑰所以不建議開放給RPC使用),或是--rpcaddr可以用來限制可取用RPC的連線,預設是localhost,如果設定"0.0.0.0"則任何連線皆可使用。…
更新:本文有點年久失修, docker api 與 docker-pyeth-cluster 的依賴專案都有變化。本文步驟僅供參考,要實作則有一點 docker 除錯經驗會順利些。
也許您是一位想改變世界的密碼經濟學研究者,提出了一個 Proof of X 的機制。但您的野心當然不會停留在讓偉大想法只躍然於紙上,有沒有辦法實際測試一下這套機制可不可行呢?
A Suicide Function : Which You Can Get Rid of Your Contract
在某些情況下, 你會需要終止你的”智能合約”. Solidity 有一個 function 以前叫 suicide(), 現在叫 selfdestruct(). 我們用 selfdestruct function 來寫一個能自己結束自己的合約, 只有一個功能叫 kill() 如下
pragma solidity ^0.4.0;
The Fallback Function : A Contract Can Have Exactly One Unnamed Function
每個 Contract 都可以有一個而且只能一個 fallback function, 就是寫成沒有名字的 function() { }, 當被 call 的 function name 不存在合約裡, 就會執行到這個 fallback function.