摘要:必備知識設置用于為區塊鏈簽署交易,并在不泄露密鑰的情況下向應用程序提供個人信息。
由于我一直在深入研究EOS dApp的開發,我看了不少好文章。在這里,我匯總了下做一些研究后得到的所有知識。在本文中,我將解釋如何使用EOSJS和scatter。我假設你對智能合約以及如何在EOS區塊鏈上部署它們有基本的了解,因為我將在本文中跳過該部分。
我們在構建什么??
我們正在構建一個簡單的todo dApp。我們將為CRUD(創建,讀取,更新和刪除)操作編寫智能合約,并將使用EOSJS和scatter與已部署的合同進行交互。CRUD操作包括創建,完成,刪除和獲取待辦事項。我們將使用Jungle Testnet來部署我們的智能合約。
EOS
EOSJS
Scatter
Scatter設置Scatter用于為區塊鏈簽署交易,并在不泄露密鑰的情況下向應用程序提供個人信息。要設置Scatter錢包,請關注這個視頻。在Scatter設置中,必須在網絡中添加Jungle testnet,其中包含以下詳細信息:
Name: Jungle Testnet Domain or IP: dev.cryptolions.io // It might be changed, so check for the latest one Port: 38888 chainId:038f4b0fc8ff18a4f0842a8f0564611f6e96e8535901dd45e43ac8691a1c4dca
添加網絡配置后,現在通過輸入密鑰對部分然后單擊新建將你的私鑰導入錢包。根據下圖所示的表格填寫關鍵信息。
現在,您應該使用密鑰對添加標識。如果沒有用,請轉到“身份”部分并添加或編輯現有身份。在身份部分,選擇網絡,然后選擇密鑰對,它會要求您在鏈網上添加與該密鑰相關聯的帳戶。 您應該添加具有活動權限的帳戶。
你的scatter已全部設置好并可以在我們的dApp中使用。
智能合約要部署todo智能合約,請按照本文將其部署到Jungle Testnet上。確保能夠從文章中提到的命令行與Testnet進行交互。
與Testnet交互我正在使用ReactJS作為前端部分。完整的邏輯和流程位于src文件夾中名為index.jsx的單個文件中。以下是配置對象:
// 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(); };
現在,在這個對象中,我們有兩個引用EOSClient和scatter,我們將分別用它們與EOS區塊鏈和錢包進行交互。
我正在添加一個功能的代碼,以使用EOSClient獲取存儲的數據(所有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); }); }
要獲取帳戶,請使用scatter對象的getIdentity():
const { accounts } = await scatter.getIdentity({ accounts: [config.EOS_CONFIG.network] });
這樣就ok。
總結其中一個最大的優點是你無需在機器上維護錢包,scatter為我們管理一切。還有其他方法來托管錢包,但scatter對最終用戶負責,開發人員不需要處理任何私人信息。github庫
分享一個交互式的在線編程實戰,EOS智能合約與DApp開發入門:
EOS教程
本課程幫助你快速入門EOS區塊鏈去中心化應用的開發,內容涵蓋EOS工具鏈、賬戶與錢包、發行代幣、智能合約開發與部署、使用代碼與智能合約交互等核心知識點,最后綜合運用各知識點完成一個便簽DApp的開發。
這里是原文
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/97996.html
摘要:必備知識設置用于為區塊鏈簽署交易,并在不泄露密鑰的情況下向應用程序提供個人信息。 由于我一直在深入研究EOS dApp的開發,我看了不少好文章。在這里,我匯總了下做一些研究后得到的所有知識。在本文中,我將解釋如何使用EOSJS和scatter。我假設你對智能合約以及如何在EOS區塊鏈上部署它們有基本的了解,因為我將在本文中跳過該部分。 我們在構建什么? ?我們正在構建一個簡單的todo...
摘要:必備知識設置用于為區塊鏈簽署交易,并在不泄露密鑰的情況下向應用程序提供個人信息。 由于我一直在深入研究EOS dApp的開發,我看了不少好文章。在這里,我匯總了下做一些研究后得到的所有知識。在本文中,我將解釋如何使用EOSJS和scatter。我假設你對智能合約以及如何在EOS區塊鏈上部署它們有基本的了解,因為我將在本文中跳過該部分。 我們在構建什么? ?我們正在構建一個簡單的todo...
摘要:我們目前正處于一個新興的區塊鏈開發行業中。,一種在以太坊開發人員中流行的新的簡單編程語言,因為它是用于開發以太坊智能合約的語言。它是全球至少萬開發人員使用的世界上最流行的編程語言之一。以太坊,主要是針對工程師使用進行區塊鏈以太坊開發的詳解。 我們目前正處于一個新興的區塊鏈開發行業中。區塊鏈技術處于初期階段,然而這種顛覆性技術已經成功地風靡全球,并且最近經歷了一場與眾不同的繁榮。由于許多...
摘要:在中被大量使用以便于開發。事實上,在中創建帳戶存在問題。這種方法使我可以輕松調用智能合約。結論這就是我的區塊鏈實驗系列的全部內容。 這是一步步的用EOSIO開發區塊鏈DApp的第三部分,上一部分中,我為EOSIO平臺開發了一個模擬選舉的智能合約。這部分我將開發一個webapp,允許訪問者投票給候選人。 以下是webapp的快速預覽: showImg(https://segmentfau...
摘要:在中被大量使用以便于開發。事實上,在中創建帳戶存在問題。這種方法使我可以輕松調用智能合約。結論這就是我的區塊鏈實驗系列的全部內容。 這是一步步的用EOSIO開發區塊鏈DApp的第三部分,上一部分中,我為EOSIO平臺開發了一個模擬選舉的智能合約。這部分我將開發一個webapp,允許訪問者投票給候選人。 以下是webapp的快速預覽: showImg(https://segmentfau...
閱讀 841·2021-11-15 17:58
閱讀 3641·2021-11-12 10:36
閱讀 3779·2021-09-22 16:06
閱讀 956·2021-09-10 10:50
閱讀 1325·2019-08-30 11:19
閱讀 3309·2019-08-29 16:26
閱讀 928·2019-08-29 10:55
閱讀 3341·2019-08-26 13:48