區塊鏈開發筆記:以太坊發佈交易源碼

區塊鏈開發筆記:以太坊發佈交易源碼

在以太坊上使用智能合約是需要專門的交易的,我們需要花費一定的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


分享到:


相關文章: