1. 首页
  2. 技术应用

玩转ByteBall的文本币(textcoin)

使用方法

ByteBall中的文本币textcoin)指的是用-连接的12个单词的字符串,就像下面这样:

element-help-cabbage-text-boat-news-civil-truly-broccoli-obscure-key-thing

文本币不仅可以承载bytes,还可以承载ByteBall上的任何其它资产。

使用ByteBall钱包可以很方便地生成文本币,生成方法如下图所示:

玩转ByteBall的文本币(textcoin)

点击SHARE VIA MESSAGE后,就会生成文本币的链接,比如:

https://byteball.org/#textcoin?element-help-cabbage-text-boat-news-civil-truly-broccoli-obscure-key-thing

打开链接后,你可以看到

玩转ByteBall的文本币(textcoin)

点击Receive funds,如果你已经安装了ByteBall钱包,你就可以提取其中的文本币了。

不管是12个单词的字符串还是链接,你通过邮件或者即时通信的方式与其他人分享。如果使用12个单词的字符串,在ByteBall钱包中,你可以按照如下步骤就提取文本币:

玩转ByteBall的文本币(textcoin)

基本原理

熟悉数字货币的读者应该对12个单词组成的助记词不会感到陌生,这组助记词代表了数字账户的私钥。实际上,文本币本质上就是这个助记词对应账户里面的数字资产。比如,上一节中给出的文本币对应的账户为CB5MYZUALLXKC5FGB4FF57SROAIOSK3R,该账户的余额就代表了文本币的大小。

当我们发送一个文本币时:

  1. ByteBall钱包会随机生成一组12个单词的助记词;
  2. 按照用户输入的文本币金额,向助记词对应的账户发送一笔转账,转账金额中包括手续费;
  3. 生成文本币链接。

相应地,当我们接收一个文本币时:

  1. ByteBall钱包根据链接或者用户输入的12个单词导入文本币对应账户的私钥;
  2. 构造一笔由文本币账户转账到本地账户的交易,并用私钥签名后广播至全网;
  3. 本地ByteBall钱包得到文本币中的资产。

从文本币的实现原理来看,它还是比较容易理解的,并没有用到特别复杂的技术。但是,ByteBall的这种创新的用法可以很方便地实现一些功能,比如通过邮件或者即时通信发送数字资产、发红包抢红包等。

代码实现

在ByteBall的核心代码byteballcore中提供了相应的函数用来实现文本币的收发,通过调用相关的函数我们可以很容易地实现文本币的相关功能。

发送文本币时,我们只需要给定需要发送的资产名称asset和数量amount,就可以生成相应的文本币:

var Wallet = require('byteballcore/wallet.js');

var address = "textcoin:" + (Date.now() + "-" + amount);
var opts = {
    asset: asset,
    to_address: address,
    amount: amount
};

Wallet.sendMultiPayment(opts, function (err, unit, mnemonics) {
    if (err) {
        console.log(err);
    } else {
        console.log('textcoin:' + mnemonics);
    }
});

上述代码仅仅给出了一个大体框架,实际在使用时opts中还需要再设置两个参数paying_addresseschange_address,具体获取方法这里就不再详细阐述了。

接收文本币时,我们只需要给定文本币的12个单词组成的字符串mnemonics和接收文本币的地址address,就可以获取相应的文本币:

var Wallet = require('byteballcore/wallet.js')

Wallet.receiveTextCoin(mnemonics, address, function(err, unit, asset) {
    if (err) {
        console.log(err);
    } else {
        console.log('claim asset' + asset + ' in ' + unit);
    }
});

在此基础上,还可以做出更多有意思的功能,比如:

版权所有。发布者:Alan During,转载请注明出处:https://bbfans.org/2018/12/02/byteball-textcoin/

发表评论

登录后才能评论

联系我们

加入ByteBall技术群请添加

QR code