[关闭]
@sswsdsn 2019-03-02T09:01:17.000000Z 字数 1611 阅读 372

IOST JavaScript SDK与钱包交互标准


CDN

  1. <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/iost@0.1.1/iost.min.js"></script>

钱包支持项

钱包创建内置IWalletJS对象,IWalletJS对象用于管理钱包调用的所有生命周期,有如下几个作用:

  1. 授权管理,用户必须授权后才能进行操作,授权调用enable函数,具体如下:

    1. document.addEventListener("DOMContentLoaded", function(event) {
    2. IWalletJS.enable().then(...)
    3. })
  2. 获取插件或者钱包账号状态,授权后回调函数里面会注入accout对象,具体如下:

    1. document.addEventListener("DOMContentLoaded", function(event) {
    2. IWalletJS.enable().then(function(account) {
    3. // account里面是账户信息
    4. if (!account) return; // 没有登陆
    5. })
    6. })
  3. 依赖管理,用户通过script标签引入IOST对象,基于该对象生成最终可用的iost对象,具体如下:

    1. <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/iost@0.1.1/iost.min.js"></script>
    2. <script type="text/javascript">
    3. // 开发者引入IOST对象
    4. const IOST = require('iost');
    5. document.addEventListener("DOMContentLoaded", function(event) {
    6. IWalletJS.enable().then(function(account) {
    7. // account里面是账户信息
    8. if (!account) return; // 没有登陆
    9. // IWalletJS生成iost对象
    10. const iost = IWalletJS.newIOST(IOST);
    11. })
    12. })
    13. </script>

Demo

以下代码实现基于钱包或插件的转账,具体如下:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Simple Test</title>
  5. <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/iost@0.1.1/iost.min.js"></script>
  6. </head>
  7. <body>
  8. <script type="text/javascript">
  9. document.addEventListener("DOMContentLoaded", function(event) {
  10. IWalletJS.enable().then(function(account) {
  11. if(!account) return; // not login
  12. const iost = IWalletJS.newIOST(IOST)
  13. //transfer
  14. const tx = iost.transfer('iost', account, "testiost1", "0.000024", "this is memo")
  15. iost.signAndSend(tx)
  16. .on('pending', function(txid) {
  17. console.log("txid:", txid)
  18. })
  19. .on('success', function (result) {
  20. console.log("result:", result)
  21. })
  22. .on('failed', function (failed) {
  23. console.log("failed:", failed)
  24. })
  25. })
  26. })
  27. </script>
  28. </body>
  29. </html>
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注