之前的文章《一招教你使用Node.js中iis部署運行node(附程式碼)》中,跟大家介紹怎麼使用iis部署運行node。以下這篇文章給大家了解EOS區塊鏈柚子皮夾前端插件scatter開發,夥伴們來看看。
安裝和使用
npm i scatterjs-core scatterjs-plugin-eosjs eosjs -D //main.js import ScatterJS from "scatterjs-core"; import ScatterEOS from "scatterjs-plugin-eosjs"; import Eos from "eosjs"; ScatterJS.plugins(new ScatterEOS());
網路連結
// EOS公链(正式环境) let main = { protocol: "https", blockchain: "eos", host: "nodes.get-scatter.com", port: 443, chainId: "aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e906", }; // 测试链 (就是用来测试的) let jungle2 = { protocol: "http", blockchain: "eos", host: "jungle2.cryptolions.io", port: 80, chainId: "e70aaab8997e1dfce58fbfac80cbbb8fecec7b99cf982a9444273cbc64c41473", };
偵錯與設定
翻牆下載scatter
外掛程式安裝。
1、開啟scatter
---setting
--network
---新建把jungle2
的資訊填到對應的位置,(取名隨便取,jungle2
)--保存
#2、產生秘鑰對,一鍵產生私鑰和公鑰
產生秘鑰對的位址https://eostea.github.io/eos-generate-key/
3、新測試帳號,需要填入剛才的公鑰,帳號名稱是z-a
,1-5
長度12 位元組合
#新測試帳號的位址https://monitor.jungletestnet.io/#account
##4、儲值,帳號建立成功之後莫有錢, 可以先儲值100 塊。測試的時候省著點用
充值的地址http://monitor.jungletestnet.io/#faucet
5、測試鏈上的帳號建好之後,開啟scatter
---身分---新建,選擇剛才建立的network
=> jungle2
,然後選擇對應的帳號。點導入---保存
這樣scatter
外掛程式配置完成。可以愉快的開發了。
建立scatter
ScatterJS.scatter.connect("app").then((connected) => { if (!connected) return false; let scatter = ScatterJS.scatter; //这里就是 window.ScatterJS = null; window.scatter = null; //通过两种方式拿到eos 对象 // this.eos = Eos({ httpEndpoint: '', signatureProvider: ScatterJS.scatter.eosHook(jungle2) }); this.eos = scatter.eos(jungle2, Eos, { expireInSeconds: 60 }); //如果授权成功,则可以拿到用户相关信息 if (scatter.identity) { this.account = scatter.identity.accounts.find( (x) => x.blockchain === "eos" ); } });
授權與取消授權
//授权 const requiredFields = { accounts: [jungle2] }; scatter .getIdentity(requiredFields) .then(() => { //分别拿到用户信息 和 eos 对象 this.account = scatter.identity.accounts.find( (x) => x.blockchain === "eos" ); this.eos = scatter.eos(jungle2, Eos, { expireInSeconds: 60 }, "https"); }) .catch((res) => {}); //退出 scatter.forgetIdentity().then((id) => { this.account = null; this.eos = null; });
轉帳交易部分
//取币种相关信息 let config = { account: "xxx", //账号名称 code: "eosio.token", //合约名称 symbol: "ETH", //币种 }; eos.getCurrencyBalance(config).then((e) => { console.log(e); }); //取用户相关信息 eos.getAccount({ account_name: "xxx" }).then((res) => { // console.log(res) let totoal = res.core_liquid_balance; //余额 let cpu = res.cpu_limit; //CPU let net = res.net_limit; //NET }); //发起转账 // eos.transfer('发送方帐号', '接收方帐号', '0.3000 DEV','memo', options, callback) eos .transfer(account.name, user, `${coin} EOS`, memo, transactionOptions) .then((trx) => { // That's it! console.log(`Transaction ID: ${trx.transaction_id}`); //有transaction_id 就代表转账成功了 }) .catch((res) => {}); //还可以使用对象 eos.transfer({ from: "发送方帐号", to: "接收方帐号", quantity: "0.1000 DEV", memo: "备注", callback, });
互動部分
// 获取Table行数据 eosjs.getTableRows({"scope":'合约名字', "code":'合约名字', "table":"game", "json": true},callback) //执行合约上的函数 eos.contract("合约名字").then(actions => { //actions随便起的变量名 actions.test('hello', { //test是方法名, 'hello'是该actions合约test方法的参数 authorization: [{actor:'lilei'}] //lilei是建立该合约的用户 }).then(result => { console.log(result); });
#當然EOS的API 非常多位址:https://developers.eos.io/eosio-nodeos/ v1.6.0/reference#get_block但是對於前端而言,以上足夠開發一個線上賭博遊戲了。
至於說發代幣啊,部署合約,抵押,競拍,出售,購買,新建帳號這些都用不著,可以轉給後端。
【完】
推薦學習:JS影片教學
#以上是淺析EOS區塊鏈柚子錢包前端插件scatter開發(分享)的詳細內容。更多資訊請關注PHP中文網其他相關文章!