1. 程式人生 > >EOS區塊鏈上EOSJS和scatter開發dApp

EOS區塊鏈上EOSJS和scatter開發dApp

由於我一直在深入研究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

新增網路配置後,現在通過輸入金鑰對部分然後單擊新建將你的私鑰匯入錢包。根據下圖所示的表格填寫關鍵資訊。

11831773-f1551f531eefa064.png

image

現在,您應該使用金鑰對新增標識。如果沒有用,請轉到“身份”部分並新增或編輯現有身份。在身份部分,選擇網路,然後選擇金鑰對,它會要求您在鏈網上新增與該金鑰相關聯的帳戶。 您應該新增具有活動許可權的帳戶。

你的scatter已全部設定好並可以在我們的dApp中使用。

11831773-2d7f6a65f38dc2f4.png

image

智慧合約

要部署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的開發。

這裡是原文

相關推薦

EOS區塊EOSJSscatter開發dApp

由於我一直在深入研究EOS dApp的開發,我看了不少好文章。在這裡,我彙總了下做一些研究後得到的所有知識。在本文中,我將解釋如何使用EOSJS和scatter。我假設你對智慧合約以及如何在EOS區塊鏈上部署它們有基本的瞭解,因為我將在本文中跳過該部分。 我們在構建什麼?

EOS區塊遊戲系統定制開發

同時 生態 我們 定價 收益 獲得 別人 eos區塊鏈 地方 EOS區塊鏈遊戲系統定制開發 找131.2935.5821 微/電 EOS生態app系統開發,EOS區塊鏈技術系統開發,EOS生態遊戲app開發 自區塊鏈成為熱潮之後,很多公司都義無反顧地撲向了這項新技術,這其中

EOS區塊開發IDE推薦使用Visual Studio CodeCLion

boa 合約 成了 ofo 現在 chang view pts ios 每一個開發人員都需要一個良好的IDE,EOS開發也是一樣,為項目開發過程構建一個良好的IDE環境是第一步。這就是為什麽我們要寫這個如何使用VS Code或者CLion進行EOS開發的快速教程的原因。 我

iOSmacOSSwift編寫的EOS區塊開源框架SwiftyEOS

SwiftyEOS是一個用於與EOS互動的開源框架,用Swift編寫。可以在iOS和macOS上使用。 特點: EOS金鑰對生成 私鑰匯入 簽名雜湊 基本的RPC API(鏈/歷史)可查詢客戶端 交易(EOS token 轉賬) 幫助類處理iOS

EOS區塊系統開發

EOS區塊鏈軟體開發【13710813997 鄭生】EOS系統應用開發 目前ETH上共有1053個Dapp。但就Dapp整體發展水平而言,使用者反饋並未達到期望值。ETH使用者量最高的Dapp24小時內使用者為1768人,排名第二的僅有1570人。而到了排名第200名的Token MultiSender僅有

eos私有開發 eos 合約

在eos私有鏈上開發 eos 合約 本文將以合約名 helloeos 進行書寫。錢包名為 qyvlik。 使用 docker 建立 eos 私有鏈 docker run --rm \ -d \ --name eosio \ -p 8888:8888 \ -p 9876:987

區塊支付錢包系統傳統支付相比有哪些優勢?區塊支付錢包源碼開發

時間 模式 ffffff 區塊鏈技術開發 方案 跨境電商 可見 做出 移動 區塊鏈中點對點連接的分布式記賬賬本特性和加密算法保障了數據的安全性,解決了交易雙方之間的信任問題。區塊鏈錢包的應用能否成為未來世界的銀行卡,支付寶?讓數字資產儲存便捷,一鍵支付,跨境支付無壓力等問題

Block.one的EOS區塊入門開發教程Elemental Battles

最新版本使任何可以使用JavaScript和C++的人都能輕鬆學習EOSIO。 10月18日,Block.one推出了Elemental Battles,這是一個激動人心的新工具包,它將通過簡化EOSIO初學者的學習曲線來啟發和加入新一代區塊鏈開發人員。 El

eosjs中文手冊[v20]——EOS區塊的JavaScript開發包

eosjs是訪問EOS區塊鏈的JavaScript開發包,它通過RPC API訪問EOS節點, 同時包含了金鑰簽名、交易序列化等本地操作。 新版的nodeos需要使用eosjs v20版本訪問,中文文件由匯智網翻譯整理, 訪問地址:eosjs v20 中文手冊 引入eosjs包

在以太坊區塊實現認證、授權計費功能(3)-認證描述

2AAA(認證、授權和計費)   雲提供商提供雲資源,例如計算、網路、網路儲存資源,可以用最少的操作快速配置應用程式,而且僅需要支付消耗的資源[55]。 美國國家科學和技術研究院(NIST)[55]將這些資源分成三種模型:軟體即服務(SaaS),平臺即服務(PaaS

在以太坊區塊實現認證、授權計費功能(6)-選擇以太坊實現的合理性

5選擇技術的合理性   正如2.4和2.5節所討論的那樣,當前的AAA(在第2節中描述)具有各種漏洞和限制。 這些漏洞已經導致使用者資料劫持和違規、身份盜用和財務損失。 這些問題變得越來越普遍和頻繁。 這引發了當前AAA框架的安全問題。 終端使用者越來越關心他們的數字身

第一次開發EOS區塊的經驗

多版本 localhost cpp 部署 vat 12c 實戰 date cdt 在處理項目時,用Java Connector for EOS區塊鏈編寫: 創建錢包 創建帳戶 創建交易 創建簽名交易 在帳戶之間轉移代幣 我遇到了各種和運行本地EOS節點需要遵循的基本步驟

區塊技術--區塊的生成

數據 交易 pos gpo 節點 技術 隨機 生成 body 1、區塊的生成 (1)礦工在挖礦前要組建區塊,將coinbase交易打包進區塊 (2)將交易池中高優先級的交易打包進區塊   優先級=交易的額度 * UTXO的深度/交易的size (3) 創建區塊的頭部【版

如果您是開發者, 地球幣EAC區塊歡迎您來做開發

com HR aaa QQ PE oba In ofo 發的 如果您是開發者,地球幣EAC區塊鏈歡迎您來做自願開發者 如果您是開發者,地球幣EAC區塊鏈歡迎您參與我們的項目、領取開發測試用的EARTHCOIN或者查看我們的技術文檔Source Code at github.

數字資產交易管理即時通訊平臺,區塊IM即時通訊系統開發數字資產交易

區塊鏈 watermark 客戶 架構設計方法 這一 jpg src 比特 得到 從幣圈玩家的角度來看數字資產交易所的即時通訊問題,一直都存在著巨大的鴻溝。溝通難的問題一直沒有得到解決,之前對於客戶關系管理或者用戶與用戶之間都只是建立以論壇或者交易所聊天框的形式進行溝通。為

世界區塊電商系統原生開發世界系統源碼開發

經濟 mark 互聯網 jpg 陌生 實現 watermark 點對點 type 酒鏈世界系統開發,開發:l5O^382*77^938微|電,酒鏈世界區塊鏈電商模式開發,區塊鏈持幣生息系統開發,區塊鏈錢包開發,酒鏈世界區塊鏈挖礦系統開發,酒鏈世界區塊鏈交易系統開發,區塊鏈淘

程序員如何切入區塊去中心化應用開發

str image its 後端 evm 展現 Dapp開發 客戶端 以及 前段時間一個以太坊遊戲應用:Fomo3D異常火爆,在短短的幾天內就吸引了幾萬的以太幣投入遊戲,第一輪遊戲一個“×××”用了一個非常巧妙的利用以太坊規則成為了最終贏家,拿走了1萬多以太幣獎金。 區塊鏈

區塊數字錢包市場應用開發分析

讓我 其他 技術開發 2017年 比特 早期 網絡 存儲 再次 前言:2018年 區塊鏈數字錢包,行業人士對其一定不會陌生,每一家的錢包都有其特色亮點的功能模塊,讓我們一起來分析下,看有沒有大家喜歡的商業模式 區塊鏈錢包介紹假想一個區塊鏈構成的網絡世界,這個世界的中心就是數

區塊遊戲系統 Fomo3D APP開發

團隊 就會 dap 系統 智能 商業 定制 幣圈 智能合約 近日,一款名為 Fomo3D 的區塊鏈遊戲風靡幣圈。下面我們一起來探討一下Fomo3D為什麽一經推出,就備受追捧。微電:173+3559=8552 類似 Fomo3D APP【區塊鏈遊戲系統】開發, 區塊鏈遊戲系統

深圳區塊技術 數字資產錢包開發

互信 由於 價值 維護 執行 互聯 移動設備 電子錢包 創建 2018年是區塊鏈技術的元年,大部分人都聽到區塊鏈這個詞匯,也對其有很大的了解興趣,但區塊鏈技術到底是什麽呢?區塊鏈實際上是一個分布式賬本,一種通過去中心化、去信任的方式集體維護一個可靠數據庫的技術方案。區塊鏈本