摘要:必備知識(shí)設(shè)置用于為區(qū)塊鏈簽署交易,并在不泄露密鑰的情況下向應(yīng)用程序提供個(gè)人信息。
由于我一直在深入研究EOS dApp的開(kāi)發(fā),我看了不少好文章。在這里,我匯總了下做一些研究后得到的所有知識(shí)。在本文中,我將解釋如何使用EOSJS和scatter。我假設(shè)你對(duì)智能合約以及如何在EOS區(qū)塊鏈上部署它們有基本的了解,因?yàn)槲覍⒃诒疚闹刑^(guò)該部分。
我們?cè)跇?gòu)建什么??
我們正在構(gòu)建一個(gè)簡(jiǎn)單的todo dApp。我們將為CRUD(創(chuàng)建,讀取,更新和刪除)操作編寫(xiě)智能合約,并將使用EOSJS和scatter與已部署的合同進(jìn)行交互。CRUD操作包括創(chuàng)建,完成,刪除和獲取待辦事項(xiàng)。我們將使用Jungle Testnet來(lái)部署我們的智能合約。
EOS
EOSJS
Scatter
Scatter設(shè)置Scatter用于為區(qū)塊鏈簽署交易,并在不泄露密鑰的情況下向應(yīng)用程序提供個(gè)人信息。要設(shè)置Scatter錢包,請(qǐng)關(guān)注這個(gè)視頻。在Scatter設(shè)置中,必須在網(wǎng)絡(luò)中添加Jungle testnet,其中包含以下詳細(xì)信息:
Name: Jungle Testnet Domain or IP: dev.cryptolions.io // It might be changed, so check for the latest one Port: 38888 chainId:038f4b0fc8ff18a4f0842a8f0564611f6e96e8535901dd45e43ac8691a1c4dca
添加網(wǎng)絡(luò)配置后,現(xiàn)在通過(guò)輸入密鑰對(duì)部分然后單擊新建將你的私鑰導(dǎo)入錢包。根據(jù)下圖所示的表格填寫(xiě)關(guān)鍵信息。
現(xiàn)在,您應(yīng)該使用密鑰對(duì)添加標(biāo)識(shí)。如果沒(méi)有用,請(qǐng)轉(zhuǎn)到“身份”部分并添加或編輯現(xiàn)有身份。在身份部分,選擇網(wǎng)絡(luò),然后選擇密鑰對(duì),它會(huì)要求您在鏈網(wǎng)上添加與該密鑰相關(guān)聯(lián)的帳戶。 您應(yīng)該添加具有活動(dòng)權(quán)限的帳戶。
你的scatter已全部設(shè)置好并可以在我們的dApp中使用。
智能合約要部署todo智能合約,請(qǐng)按照本文將其部署到Jungle Testnet上。確保能夠從文章中提到的命令行與Testnet進(jìn)行交互。
與Testnet交互我正在使用ReactJS作為前端部分。完整的邏輯和流程位于src文件夾中名為index.jsx的單個(gè)文件中。以下是配置對(duì)象:
// Config for scatter and eosjs const EOS_CONFIG = { contractName: “xyz”, // Contract name contractSender: “xyz”, // User executing the contract (should be paired with private key) network: { protocol: “http”, blockchain: “eos”, host: “dev.cryptolions.io”, port: 38888, chainId: “038f4b0fc8ff18a4f0842a8f0564611f6e96e8535901dd45e43ac8691a1c4dca” // get this using http://dev.cryptolions.io:38888/v1/chain/get_info }, eosOptions: {} };
與scatter交互:
import EOS from ‘eosjs’; document.addEventListener(`scatterLoaded`, this.onScatterLoad); onScatterLoad = () => { const scatter = window.scatter; window.scatter = null; // Here, we are connecting scatter with eosjs so that the transactions can be signed using keys present in scatter this.eosClient = scatter.eos( EOS_CONFIG.network, EOS, EOS_CONFIG.eosOptions, EOS_CONFIG.network.protocol ); // scatter object to collect the information present in wallet like accounts or public key this.scatter = scatter; // to load the data present in our table this.loadTodos(); };
現(xiàn)在,在這個(gè)對(duì)象中,我們有兩個(gè)引用EOSClient和scatter,我們將分別用它們與EOS區(qū)塊鏈和錢包進(jìn)行交互。
我正在添加一個(gè)功能的代碼,以使用EOSClient獲取存儲(chǔ)的數(shù)據(jù)(所有todos),你可以在src/index.jsx中檢查其余功能:
loadTodos() { this.eosClient.getTableRows({ code: EOS_CONFIG.contractName, scope: EOS_CONFIG.contractName, table: “todos”, json: true }).then(data => { this.setState({ todos: data.rows }); }).catch(e => { console.error(e); }); }
要獲取帳戶,請(qǐng)使用scatter對(duì)象的getIdentity():
const { accounts } = await scatter.getIdentity({ accounts: [config.EOS_CONFIG.network] });
這樣就ok。
總結(jié)其中一個(gè)最大的優(yōu)點(diǎn)是你無(wú)需在機(jī)器上維護(hù)錢包,scatter為我們管理一切。還有其他方法來(lái)托管錢包,但scatter對(duì)最終用戶負(fù)責(zé),開(kāi)發(fā)人員不需要處理任何私人信息。github庫(kù)
分享一個(gè)交互式的在線編程實(shí)戰(zhàn),EOS智能合約與DApp開(kāi)發(fā)入門(mén):
EOS教程
本課程幫助你快速入門(mén)EOS區(qū)塊鏈去中心化應(yīng)用的開(kāi)發(fā),內(nèi)容涵蓋EOS工具鏈、賬戶與錢包、發(fā)行代幣、智能合約開(kāi)發(fā)與部署、使用代碼與智能合約交互等核心知識(shí)點(diǎn),最后綜合運(yùn)用各知識(shí)點(diǎn)完成一個(gè)便簽DApp的開(kāi)發(fā)。
這里是原文
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/77282.html
摘要:必備知識(shí)設(shè)置用于為區(qū)塊鏈簽署交易,并在不泄露密鑰的情況下向應(yīng)用程序提供個(gè)人信息。 由于我一直在深入研究EOS dApp的開(kāi)發(fā),我看了不少好文章。在這里,我匯總了下做一些研究后得到的所有知識(shí)。在本文中,我將解釋如何使用EOSJS和scatter。我假設(shè)你對(duì)智能合約以及如何在EOS區(qū)塊鏈上部署它們有基本的了解,因?yàn)槲覍⒃诒疚闹刑^(guò)該部分。 我們?cè)跇?gòu)建什么? ?我們正在構(gòu)建一個(gè)簡(jiǎn)單的todo...
摘要:必備知識(shí)設(shè)置用于為區(qū)塊鏈簽署交易,并在不泄露密鑰的情況下向應(yīng)用程序提供個(gè)人信息。 由于我一直在深入研究EOS dApp的開(kāi)發(fā),我看了不少好文章。在這里,我匯總了下做一些研究后得到的所有知識(shí)。在本文中,我將解釋如何使用EOSJS和scatter。我假設(shè)你對(duì)智能合約以及如何在EOS區(qū)塊鏈上部署它們有基本的了解,因?yàn)槲覍⒃诒疚闹刑^(guò)該部分。 我們?cè)跇?gòu)建什么? ?我們正在構(gòu)建一個(gè)簡(jiǎn)單的todo...
摘要:我們目前正處于一個(gè)新興的區(qū)塊鏈開(kāi)發(fā)行業(yè)中。,一種在以太坊開(kāi)發(fā)人員中流行的新的簡(jiǎn)單編程語(yǔ)言,因?yàn)樗怯糜陂_(kāi)發(fā)以太坊智能合約的語(yǔ)言。它是全球至少萬(wàn)開(kāi)發(fā)人員使用的世界上最流行的編程語(yǔ)言之一。以太坊,主要是針對(duì)工程師使用進(jìn)行區(qū)塊鏈以太坊開(kāi)發(fā)的詳解。 我們目前正處于一個(gè)新興的區(qū)塊鏈開(kāi)發(fā)行業(yè)中。區(qū)塊鏈技術(shù)處于初期階段,然而這種顛覆性技術(shù)已經(jīng)成功地風(fēng)靡全球,并且最近經(jīng)歷了一場(chǎng)與眾不同的繁榮。由于許多...
摘要:在中被大量使用以便于開(kāi)發(fā)。事實(shí)上,在中創(chuàng)建帳戶存在問(wèn)題。這種方法使我可以輕松調(diào)用智能合約。結(jié)論這就是我的區(qū)塊鏈實(shí)驗(yàn)系列的全部?jī)?nèi)容。 這是一步步的用EOSIO開(kāi)發(fā)區(qū)塊鏈DApp的第三部分,上一部分中,我為EOSIO平臺(tái)開(kāi)發(fā)了一個(gè)模擬選舉的智能合約。這部分我將開(kāi)發(fā)一個(gè)webapp,允許訪問(wèn)者投票給候選人。 以下是webapp的快速預(yù)覽: showImg(https://segmentfau...
摘要:在中被大量使用以便于開(kāi)發(fā)。事實(shí)上,在中創(chuàng)建帳戶存在問(wèn)題。這種方法使我可以輕松調(diào)用智能合約。結(jié)論這就是我的區(qū)塊鏈實(shí)驗(yàn)系列的全部?jī)?nèi)容。 這是一步步的用EOSIO開(kāi)發(fā)區(qū)塊鏈DApp的第三部分,上一部分中,我為EOSIO平臺(tái)開(kāi)發(fā)了一個(gè)模擬選舉的智能合約。這部分我將開(kāi)發(fā)一個(gè)webapp,允許訪問(wèn)者投票給候選人。 以下是webapp的快速預(yù)覽: showImg(https://segmentfau...
閱讀 2066·2021-10-12 10:12
閱讀 788·2021-09-24 09:47
閱讀 1187·2021-08-19 11:12
閱讀 3461·2019-08-29 13:06
閱讀 681·2019-08-26 11:43
閱讀 2563·2019-08-23 17:20
閱讀 1146·2019-08-23 16:52
閱讀 2593·2019-08-23 14:27