浅析EOS区块链柚子钱包前端插件scatter开发
4240
本篇文章给大家了解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、生成秘钥对,一键生成私钥和公钥
3、新建测试账号,需要填入刚才的公钥,账号名是z-a
,1-5
长度 12 位组合
4、充值,账号建立成功之后莫有钱, 可以先充值 100 块。测试的时候省着点用
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 但是对于前端而言,以上足够开发一个线上游戏了。
至于说发代币啊,部署合约,抵押,竞拍,出售,购买,新建帐号这些都用不着,可以转给后端。
本文网址:https://www.zztuku.com/detail-9208.html
站长图库 - 浅析EOS区块链柚子钱包前端插件scatter开发
申明:如有侵犯,请 联系我们 删除。
您还没有登录,请 登录 后发表评论!
提示:请勿发布广告垃圾评论,否则封号处理!!