美文网首页
wicc和token转账任务的解决思路

wicc和token转账任务的解决思路

作者: 树哥区块链 | 来源:发表于2019-04-01 12:44 被阅读0次

    任务:

    1、开发一个智能合约并部署Testnet

    2、合约内容必须用到接口或API,具体要求如下

    (1) 设置管理员权限,并制定某个操作只允许管理员执行(如修改管理员)

    (2) 普通用户之间可以对WICC和 token 进行互换

    (3) 普通用户之间可以对token进行转账

    (4) 除了以上方法外,您有其它任何想法都可以写在合约里面

    分析任务:

    1、开发智能合约,并部署到testnet上。

    这个任务,需要几个步骤:

       1)以lua来进行编程,形成文件。

    文件编辑可以采用各种方法,无论是linux 中的touch 和vim的组合,或者其他的编辑软件,例如xcode,写字板都可以。

      2)建立区块链节点

    部署智能合约到区块链上,本质上就是通过一个节点来发布这个智能合约,然后矿工打包,把这个智能合约打包的区块之中。

    这个节点怎么来呢?

    两种方式: 

     A、自己部署。安装ubuntu软件,安装docker软件,把节点的软件运行在docker的虚容器中,成为一个独立的节点。

    B、 使用维基链提供的baas平台,通过网页方式登录到节点来进行部署智能合约。

      3) 部署智能合约

    可以通过命令行 registercontracttx 来进行注册合约。

    通过postman 等rpc工具,调用来进行注册合约。

     通过线上钱包插件+维基链提供的工具来注册合约。

    注册完成后的显示如下图:

    红框框起来的部分就是智能合约内容,只不过是十六进制的数字的而已。

    可以通过字符转换工具,转换成我们能看懂的字符。

    2、合约内容必须用到接口或API,具体要求如下

    (1) 设置管理员权限,并制定某个操作只允许管理员执行(如修改管理员)

    A、设定owner为管理员。

    B、某个操作前使用MeMlsEqual来判断,地址和owner是否相同。相同则可以执行,不同则不可以执行。

    (2) 普通用户之间可以对WICC和 token 进行互换

    可以分为两个操作:

    一个操作是把wicc转入合约,把token转账给入合约调用者。

    需要做的是: 

     当合约调用者转账wicc给合约的时候:

       A、GetCurrTxAccountAddress 查询到合约调用者的地址。

       B、通过GetcurrTxPayAmount获得调用者的转账金额。

       C、通过TransferToken把转账wicc相对应的数量token转移给合约调用者。(需要提前用getfreetokenacount来查询token数量是否足够。)

    另外一个操作是把token转入合约中,转对应的wicc给调用者。

    A、通过transfertoken,把token从用户账户中转移到合约账户中。其中用户账户token数量减少,合约账户token数量增加。

    B、通过GetCurrTxAccountAddress 查询到合约调用者的地址。

    C、通过transferToAddr把转入token对应数量的wicc从合约账户中转移到合约调用账户中。

    (3) 普通用户之间可以对token进行转账

    A、任何用户都可以调取合约,执行合约内token转账的操作。

    B、   通过GetCurrTxAccountAddress 查询到合约调用者的地址。

    C、使用TransferToken把合约调用者内的token转移到另外用户账户中。

    (4) 除了以上方法外,您有其它任何想法都可以写在合约里面

    token和wicc之间转账:A. 增加、减少双方token。B、只减少token,燃烧机制。C、增加用户token,但进行冻结。

    相关文章

      网友评论

          本文标题:wicc和token转账任务的解决思路

          本文链接:https://www.haomeiwen.com/subject/ficmbqtx.html