所属分类:web前端开发
之前的文章《一招教你使用Node.js中iis部署运行node(附代码)》中,给大家介绍怎么使用iis部署运行node。下面本篇文章给大家了解EOS区块链柚子钱包前端插件scatter开发,伙伴们来看看一下。
安装和使用
1 2 3 4 5 6 7 | 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()); |
网络链
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | // 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 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" ); } }); |
授权和取消授权
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | //授权 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; }); |
转账交易部分
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | //取币种相关信息 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, }); |
交互部分
1 2 3 4 5 6 7 8 9 10 11 | // 获取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开发(分享)的详细内容,更多请关注zzsucai.com其它相关文章!