以太坊知识教程------交易
以太坊中的交易( Transaction )是指存儲(chǔ)一條從外部賬戶發(fā)送到區(qū)塊鏈上另-個(gè)賬戶的
消息的簽名數(shù)據(jù)包,它既可以是簡(jiǎn)單的數(shù)字貨幣一一以太幣的轉(zhuǎn)賬,也可以是包含智能合
約代碼的消息 。
1.交易內(nèi)容:
- from :交易發(fā)送者的地址,必填;
- to :交易接收者的地址,如果為空則意味這是一個(gè)創(chuàng)建智能合約的交易;
- value :發(fā)送者要轉(zhuǎn)移給接收者的以太幣數(shù)量;
- data (也寫作 input):存在的數(shù)據(jù)字段,如果存在,則是表明該交易是一個(gè)創(chuàng)建或者調(diào)用智能合約交易;
- Gas Limit (也寫作 Gas, StartGas ):表示這個(gè)交易允許消耗的最大 Gas 數(shù)量;
- GasPrice :表示發(fā)送者愿意支付給礦工的 Gas 價(jià)格;
- nonce :用來(lái)區(qū)別同一用戶發(fā) 出的不同交易的標(biāo)記;
- hash :由以上信息生成的散列值(哈希值),作為交易的 ID
- r 、 s 、 v :交易簽名的三個(gè)部分,由發(fā)送者的私鑰對(duì)交易 hash 進(jìn)行簽名生成
2.交易三種類型:
2.1. 轉(zhuǎn)賬交易
轉(zhuǎn)賬是最簡(jiǎn)單的一種交易, 從一個(gè)賬戶向另一個(gè)賬戶發(fā)送以太幣 。 發(fā)送轉(zhuǎn)賬交易時(shí)只需要指定交易的發(fā)送者、接收者、轉(zhuǎn)移的以太幣數(shù)量即可(在客戶端發(fā)送交易時(shí), Gas Limit 、Gas Price 、 nonce 、hash 、簽名可以按照默認(rèn)方式生成)
2.2. 創(chuàng)建智能合約的交易
創(chuàng)建合約是指將合約部署到區(qū)塊鏈上,這也是通過(guò)發(fā)送交易來(lái)實(shí)現(xiàn)的 。 在創(chuàng)建合約的交易中 , “to” 字段是一個(gè)空字符串,在“ data"宇段中指定初始化合約的二進(jìn)制代碼,在之后合約被調(diào)用時(shí),該代碼的執(zhí)行結(jié)果將作為合約代碼。
2.3. 執(zhí)行智能合約的交易
該交易是為了執(zhí)行已經(jīng)部署在區(qū)塊鏈上的智能合約,在該交易中,需要將“to”字段指定為要調(diào)用的智能合約的地址,通過(guò)“ data"字段指定要調(diào)用的方法以及向該方法傳遞參數(shù)
eg. 查詢交易的例子
web3.eth.getTransacti on('OxcSeee3ae9cflOfbee0532Se3a2Sc3bl9489783612e36cbSSb054c 2cb4f82fc28') {blockHash: ' Oxdb85c62ef50103f08e922Ob59d6c08cbfb52e6ld84926dedb3fe9b694Oe6bbea’,blockNumber: 290081,from: 'Oxldcb8dlf0fcc8cbc8c2d76528e877f915e299fbe’,Gas: 90000,GasPrice: 50000000000 ’,hash: 'Oxc5eee3ae9cfl0fbee05325e3a25c3bl9489783612e36cb55b054c2cb4f82fc28',input: ' Ox' ,nonce: 34344,to: 'Ox702bd0d370bbf0b97b66fe95578c62697c583393',transactionindex: 0,value: 5000111390000000000 }總結(jié)
以上是生活随笔為你收集整理的以太坊知识教程------交易的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: C++ Primer 5th笔记(10)
- 下一篇: 以太坊知识教程------智能合约(1)