eosjs轉賬代碼怎么寫,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供巴楚網(wǎng)站建設、巴楚做網(wǎng)站、巴楚網(wǎng)站設計、巴楚網(wǎng)站制作等企業(yè)網(wǎng)站建設、網(wǎng)頁設計與制作、巴楚企業(yè)網(wǎng)站模板建站服務,10余年巴楚做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡服務。
下面介紹使用V20版本的eosjs實現(xiàn)代幣轉賬的思路,并給出eosjs轉賬的實現(xiàn)代碼。
我們首先在nodejs中引入要使用到的類:
const {Api,JsonRpc,RpcError} = require('eosjs') const JsSignatureProvider = require('eosjs/dist/eosjs-jssig'); const fetch = require('node-fetch'); const { TextEncoder, TextDecoder } = require('util');
在EOS中,代幣轉賬就是對代幣合約的transfer()
方法的調(diào)用,因此接下來就是準備一個對代幣合約的動作調(diào)用。例如,下面的動作將從賬號useraaaaaaaa向賬號userbbbbbbbb轉0.0001個SYS代幣:
const action = { account: 'eosio.token', name: 'transfer', authorization: [{ actor: 'useraaaaaaaa', permission: 'active', }], data: { from: 'useraaaaaaaa', to: 'userbbbbbbbb', quantity: '0.0001 SYS', memo: '', }, }
接下來要準備一個簽名器對交易進行簽名,在開發(fā)時,我們可以使用eosj內(nèi)置的簽名器實現(xiàn) JsSignatureProvider,它的實例化需要傳入一組交易可能用到的私鑰:
// useraaaaaaaa的私鑰 const defaultPrivateKey = "5JtUScZK2XEp3g9gh7F8bwtPTRAkASmNrrftmx4AxDKD5K4zDnr"; const signatureProvider = new JsSignatureProvider([defaultPrivateKey]);
需要指出的是,JsSignatureProvider沒有對私鑰的任何保護措施,因此在生產(chǎn)環(huán)境中請不要使用這個簽名器。在教程Eos智能合約與Dapp開發(fā)入門中我們給出了一個基于keosd的簽名提供器可供生產(chǎn)環(huán)境下使用。
一旦交易完成簽名,就需要利用EOS節(jié)點旳RPC接口提交交易,因此接下來初始化一個JsonRpc對象:
const rpc = new JsonRpc('http://127.0.0.1:8888', { fetch });
上述簽名、序列化和廣播交易的過程在eosjs中由Api類封裝,因此我們只需要調(diào)用Api實例的transact()方法即可:
const api = new Api({ rpc, signatureProvider, textDecoder: new TextDecoder(), textEncoder: new TextEncoder() }); api.transact({actions:[action]}) .then(ret => console.log(ret)) .catch(err => console.log(err))
在transact()
方法的實現(xiàn)中,將調(diào)用JsonRpc對象的push_transaction()方法將簽名后的序列化交易提交到節(jié)點并廣播到整個EOS網(wǎng)絡中。
看完上述內(nèi)容,你們掌握eosjs轉賬代碼怎么寫的方法了嗎?如果還想學到更多技能或想了解更多相關內(nèi)容,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
網(wǎng)頁名稱:eosjs轉賬代碼怎么寫
文章地址:http://jinyejixie.com/article44/ggiiee.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設計公司、網(wǎng)站維護、網(wǎng)站排名、軟件開發(fā)、ChatGPT、移動網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)