在以太坊上使用智能合約是需要專門的交易的,我們需要花費一定的ether來調用智能合約,把一定的ether轉賬到智能合約的地址中。在我們學習實現智能合約之前,先要了解一下如何創建一個交易。
一、發佈交易
第一步: 在一個節點上,採用coinbase賬戶並解鎖它。
> coinbaseAddress = eth.coinbase
> personal.unlockAccount(coinbaseAddress)
Unlock account 0x4e7b6e350db51b1cea072dce8a507683cb83f814
Passphrase:
True
第二步:現在從另一個節點的coinbase帳戶或者其他賬戶複製地址,並回到未解鎖的帳戶節點
> hisAddress = "0xb161ffdc6a63963bfbf7b12069ff52cfe5d42cbc"
第三步:sendTransaction
> eth.sendTransaction({from: eth.coinbase, to: hisAddress, value: 100000000})
INFO [08-24|19:55:15.585] Submitted transaction
fullhash=0x278445d113e9526ee84e7c583dbb65f5d293b80e9b1a836cf0d4e8442e61b560
recipient=0xb161ffDc6A63963BfBF7B12069FF52CfE5D42cBC
"0x278445d113e9526ee84e7c583dbb65f5d293b80e9b1a836cf0d4e8442e61b560"
還有一件需要注意的事,而且會很容易混淆的,就是為什麼這些數字的值有那麼多0。這是因為值是用wei來表示的,所以不必處理可能在不同系統上引起問題的浮點數。這將與gas(一個與計算步驟大致相當的測量法。每筆交易都需要包括一個Gas限制和一個願意為每個Gas支付的費用;礦工可以選擇進行交易和收費)一起發揮作用 ,需要開始指定合同部署和交易。
如果想知道用這個值發送了多少以太幣,命令如下:
> web3.fromWei(100000000,'ether')
“0.0000000001”
第四步:要使交易發送,並且看到不同餘額的差異,需要在節點中啟動礦工,然後在挖掘了一個區塊後停止,現在檢查餘額以查看變化。
> miner.start()
...............
> miner.stop()
> web3.eth.getBalance(eth.coinbase)
59999999999900000000
> web3.eth.getBalance(hisAddress)
100000000
閱讀更多 區塊鏈商機 的文章