浅析EOS区块链柚子钱包前端插件scatter开发(分享)
之前的文章《一招教你使用Node.js中iis部署运行node(附代码)》中,给大家介绍怎么使用iis部署运行node。下面本篇文章给大家了解EOS区块链柚子钱包前端插件scatter开发,伙伴们来看看一下。
基于区块链柚子(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开发(分享)的详细内容,更多请关注其它相关文章!