Im vorherigen Artikel „Ein Trick, um Ihnen beizubringen, wie Sie Knoten mithilfe von iis in Node.js (mit Code) bereitstellen und ausführen“ habe ich Ihnen vorgestellt, wie Sie iis zum Bereitstellen und Ausführen von Knoten verwenden. Der folgende Artikel stellt Ihnen die Entwicklung des EOS-Blockchain-Grapefruit-Wallet-Frontend-Plug-Ins Scatter vor.
Installation und Verwendung
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());
Netzwerkkette
// 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", };
Debugging und Konfiguration
Über die Mauer herunterladen < code>scatter Plug-in-Installation. 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
---setting
--network
---new und geben Sie die Informationen von jungle2</ ein. code> Gehen Sie zum entsprechenden Ort (benennen Sie ihn nach Belieben, <code>jungle2
) --Speichern 2 Generieren Sie ein geheimes Schlüsselpaar, generieren Sie einen privaten Schlüssel und einen öffentlichen Schlüssel mit einem Klick
The Adresse zum Generieren des geheimen Schlüsselpaars https://eostea.github.io/eos-generate-key/
3 Um ein neues Testkonto zu erstellen, müssen Sie jetzt den öffentlichen Schlüssel eingeben z-a
,1-5
12-stellige Kombination
Die Adresse des neuen Testkontos https://monitor.jungletestnet.io/#account
4. Wenn Sie nach erfolgreicher Kontoeröffnung kein Geld mehr haben, können Sie zunächst 100 Yuan aufladen. Sparen Sie beim Testen die Verwendung der
Aufladeadresse http://monitor.jungletestnet.io/#faucet
Das5 Nachdem das Konto in der Testkette erstellt wurde, öffnen Sie
scatter
--. -Identität---Neu, wählen Sie das soeben erstellteNetzwerk
=>Jungle2
und dann das entsprechende Konto aus. Klicken Sie auf „Importieren---Speichern“.
scatter
-Plug-in ist jetzt konfiguriert. Du kannst dich glücklich weiterentwickeln. Scatter erstellen
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" ); } });
Autorisierung und Deautorisierung
🎜//授权 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); });
Das obige ist der detaillierte Inhalt vonEine kurze Analyse der EOS-Blockchain-Grapefruit-Wallet-Front-End-Plugin-Scatter-Entwicklung (Teilen). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!