@sswsdsn
2019-03-02T09:01:17.000000Z
字数 1611
阅读 372
<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 login
const iost = IWalletJS.newIOST(IOST)
//transfer
const 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>