@sswsdsn
2019-03-02T09:01:17.000000Z
字数 1611
阅读 398
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/iost@0.1.1/iost.min.js"></script>
钱包创建内置IWalletJS对象,IWalletJS对象用于管理钱包调用的所有生命周期,有如下几个作用:
授权管理,用户必须授权后才能进行操作,授权调用enable函数,具体如下:
document.addEventListener("DOMContentLoaded", function(event) {IWalletJS.enable().then(...)})
获取插件或者钱包账号状态,授权后回调函数里面会注入accout对象,具体如下:
document.addEventListener("DOMContentLoaded", function(event) {IWalletJS.enable().then(function(account) {// account里面是账户信息if (!account) return; // 没有登陆})})
依赖管理,用户通过script标签引入IOST对象,基于该对象生成最终可用的iost对象,具体如下:
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/iost@0.1.1/iost.min.js"></script><script type="text/javascript">// 开发者引入IOST对象const IOST = require('iost');document.addEventListener("DOMContentLoaded", function(event) {IWalletJS.enable().then(function(account) {// account里面是账户信息if (!account) return; // 没有登陆// IWalletJS生成iost对象const iost = IWalletJS.newIOST(IOST);})})</script>
以下代码实现基于钱包或插件的转账,具体如下:
<!DOCTYPE html><html><head><title>Simple Test</title><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/iost@0.1.1/iost.min.js"></script></head><body><script type="text/javascript">document.addEventListener("DOMContentLoaded", function(event) {IWalletJS.enable().then(function(account) {if(!account) return; // not loginconst iost = IWalletJS.newIOST(IOST)//transferconst tx = iost.transfer('iost', account, "testiost1", "0.000024", "this is memo")iost.signAndSend(tx).on('pending', function(txid) {console.log("txid:", txid)}).on('success', function (result) {console.log("result:", result)}).on('failed', function (failed) {console.log("failed:", failed)})})})</script></body></html>