以太坊知识教程------交易
生活随笔
收集整理的這篇文章主要介紹了
以太坊知识教程------交易
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
以太坊中的交易( Transaction )是指存儲一條從外部賬戶發送到區塊鏈上另-個賬戶的
消息的簽名數據包,它既可以是簡單的數字貨幣一一以太幣的轉賬,也可以是包含智能合
約代碼的消息 。
1.交易內容:
- from :交易發送者的地址,必填;
- to :交易接收者的地址,如果為空則意味這是一個創建智能合約的交易;
- value :發送者要轉移給接收者的以太幣數量;
- data (也寫作 input):存在的數據字段,如果存在,則是表明該交易是一個創建或者調用智能合約交易;
- Gas Limit (也寫作 Gas, StartGas ):表示這個交易允許消耗的最大 Gas 數量;
- GasPrice :表示發送者愿意支付給礦工的 Gas 價格;
- nonce :用來區別同一用戶發 出的不同交易的標記;
- hash :由以上信息生成的散列值(哈希值),作為交易的 ID
- r 、 s 、 v :交易簽名的三個部分,由發送者的私鑰對交易 hash 進行簽名生成
2.交易三種類型:
2.1. 轉賬交易
轉賬是最簡單的一種交易, 從一個賬戶向另一個賬戶發送以太幣 。 發送轉賬交易時只需要指定交易的發送者、接收者、轉移的以太幣數量即可(在客戶端發送交易時, Gas Limit 、Gas Price 、 nonce 、hash 、簽名可以按照默認方式生成)
2.2. 創建智能合約的交易
創建合約是指將合約部署到區塊鏈上,這也是通過發送交易來實現的 。 在創建合約的交易中 , “to” 字段是一個空字符串,在“ data"宇段中指定初始化合約的二進制代碼,在之后合約被調用時,該代碼的執行結果將作為合約代碼。
2.3. 執行智能合約的交易
該交易是為了執行已經部署在區塊鏈上的智能合約,在該交易中,需要將“to”字段指定為要調用的智能合約的地址,通過“ data"字段指定要調用的方法以及向該方法傳遞參數
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 }總結
以上是生活随笔為你收集整理的以太坊知识教程------交易的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++ Primer 5th笔记(10)
- 下一篇: 以太坊知识教程------智能合约(1)