Maison >interface Web >js tutoriel >Une brève analyse du développement du plug-in frontal du portefeuille pamplemousse EOS blockchain (partage)

Une brève analyse du développement du plug-in frontal du portefeuille pamplemousse EOS blockchain (partage)

奋力向前
奋力向前avant
2021-09-14 11:34:422619parcourir

Dans l'article précédent "Une astuce vous apprend à déployer et exécuter node en utilisant iis dans Node.js (avec code)", je vous ai présenté comment utiliser iis pour déployer et exécuter node. L'article suivant vous présentera le développement du plug-in frontal du portefeuille Pamplemousse blockchain EOS. Jetons un coup d'œil.

Une brève analyse du développement du plug-in frontal du portefeuille pamplemousse EOS blockchain (partage)

Basé sur l'installation et l'utilisation du plug-in frontal du portefeuille EOS blockchain

Installation et utilisation

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());

Chaîne réseau

// 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",
};

Débogage et configuration

D propre chargement par-dessus le mur Installation du plug-in scatter. 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

1. Ouvrez scatter---setting--network---new et remplissez les informations de jungle2 code> Accédez à l'emplacement correspondant (nommez-le comme vous le souhaitez, <code>jungle2) --Enregistrez

2. Générez une paire de clés secrètes, générez une clé privée et une clé publique en un seul clic

Le. adresse de génération de la paire de clés secrètes https ://eostea.github.io/eos-generate-key/
3 Pour créer un nouveau compte de test, vous devez maintenant renseigner la clé publique. z-a,1-5 Combinaison à 12 chiffres

L'adresse du nouveau compte test https://monitor.jungletestnet.io/#account

4. Rechargez. Si vous n'avez pas d'argent une fois le compte créé avec succès, vous pouvez d'abord recharger 100 yuans. Lors des tests, économisez en utilisant l'adresse de recharge
http://monitor.jungletestnet.io/#faucet

5 Une fois le compte sur la chaîne de test créé, ouvrez scatter--. -Identité---Nouveau, sélectionnez le réseau => jungle2 que vous venez de créer, puis sélectionnez le compte correspondant. Cliquez sur Importer---Enregistrer

Le plug-in scatter est maintenant configuré. Vous pouvez vous développer avec bonheur.

Créer un 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: &#39;&#39;, 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"
    );
  }
});

Autorisation et désautorisation

🎜
//授权
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;
});
🎜🎜Partie transaction de transfert🎜🎜
//取币种相关信息
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(&#39;发送方帐号&#39;, &#39;接收方帐号&#39;, &#39;0.3000 DEV&#39;,&#39;memo&#39;, options, callback)

eos
  .transfer(account.name, user, `${coin} EOS`, memo, transactionOptions)
  .then((trx) => {
    // That&#39;s it!
    console.log(`Transaction ID: ${trx.transaction_id}`);
    //有transaction_id 就代表转账成功了
  })
  .catch((res) => {});

//还可以使用对象
eos.transfer({
  from: "发送方帐号",
  to: "接收方帐号",
  quantity: "0.1000 DEV",
  memo: "备注",
  callback,
});
🎜🎜Partie interactive🎜🎜🎜
// 获取Table行数据
eosjs.getTableRows({"scope":&#39;合约名字&#39;, "code":&#39;合约名字&#39;, "table":"game", "json": true},callback)

//执行合约上的函数

eos.contract("合约名字").then(actions => {       //actions随便起的变量名
    actions.test(&#39;hello&#39;, {                     //test是方法名, &#39;hello&#39;是该actions合约test方法的参数
    	authorization: [{actor:&#39;lilei&#39;}]           //lilei是建立该合约的用户
    }).then(result => {
        console.log(result);
    });
🎜🎜Bien sûr il existe de nombreuses adresses pour l'API EOS : https:// développeurs eos.io/eosio-nodeos/v1.6.0/reference#get_block Mais pour le front-end, ce qui précède est suffisant pour développer un jeu de hasard en ligne. 🎜🎜🎜En ce qui concerne l'émission de jetons, le déploiement de contrats, le jalonnement, les enchères, la vente, l'achat et la création de comptes ne sont pas nécessaires et peuvent être transférés vers le backend. 🎜🎜【Fin】🎜🎜🎜Apprentissage recommandé : 🎜Tutoriel vidéo JS🎜🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer