企业为什么需要多资产token? 区块链上token是安全、可流通的数字权益证明,它可以代表任何的权益,比如使用权、股权等等。现实生活中的各种权益证明,不管是所有权还是著作权、债券还是代金券、货币还是票据的都可以数字化、通证化,并接入区块链平台进行快速而又安全的交易。 企业和个人在区块链上发行token资产已是当下区块链时代的时髦行为,因其可极大地降低交易成本。而一个运营能力专业,技术氛围良好,用户数量大,用途广泛,高效、安全与易用的商用区块链平台,才能保证资产切实有效的发行。 享云链率先原生支持单账户多币种,并支持通过合约发行隐私Token 目前像以太坊这样的公链,新增资产的发行、交易、转账都只能在合约中进行。对开发人员和资深用户来说,原生token与合约发行的token交易操作截然不同。虽然以太坊提出ERC-20等标准协议来支持用户发行资产,但用户仍需通过调用合约方式来进行转账操作,这种方式影响了转账效率(需要执行合约交易,拉起虚拟机),也引入了风险(非标准合约发行)。
图1:以太坊交易token的方式 享云链的多资产技术,既支持在合约上进行token的发行、转账,也支持使用原生交易进行转账。享云链对token的原生支持,将链上发行的token的账户-余额信息直接存储在区块链底层的存储模型中,合约中不必记录用户的token余额,只有需要发行方权限控制的发行操作才需调用合约。
图2:享云链交易token的方式 享云链上的多资产合约发行方法 目前看来,所有的享云链token都是按照下面这些方法来定义的。享云链支持solidity与C/C 几种语言。下面我们以C 语言合约代码为例,介绍下资产发行合约的相关内容。 合约方法:
- Name 可选,返回token的名字,便于展示,如: "LRCToken"。
(代码) tc::string Name();
- Symbol可选,返回token的简称 如:"LRC" (代码) tc::string Symbol();
- TotalSupply 可选 返回token发行总数。 (代码)tc::string TotalSupply();
- GetDecimals,返回token精度,即小数位数。 (代码)uint32_t GetDecimals();
5.TC_Issue资产发行函数,amount为发行token总量。 (代码)void TC_Issue(const char* amount); 举例说明个人资产发行合约 下面代码为一个资产发行合约的例子。该合约发行资产后,会将全部token转入给单个账户内。收到token的账户就可以管理资产,在享云链上进行资产的交易了。
include "tcmethod.hpp"//声明合约头文件
//发行时总量设置 1000*100000000
define E8 "00000000"
define AMOUNT "1000"
define TOTALSUPPLY AMOUNT E8
class LRCToken : public TCBaseContract{ //TCBaseContract合约基类 public:
代码语言:javascript复制//合约初始化函数,当合约部署时会自动调用
void Init(){
//发行token,链上记账,此时balance[合约地址]=totalsupply
TC_Issue(TOTALSUPPLY);
transferALL();
}
//必选的合约接口
//精度
uint32_t decimals = 8;
uint32_t GetDecimals(){
return decimals;
}
//可选的合约接口
//token简称
tc::string Symbol(){
return "LRC";
}
//名字
tc::string name = {"LRCToken"};
tc::string Name(){
return name;
}
//发行总量 tc::string TotalSupply(){
return TOTALSUPPLY;
}
private:
代码语言:javascript复制//初始化时将所有token发送给指定账户
void transferALL(){
//初始化时将token发送给指定账户
tc::string AdminAddress= {"0x54fb1c7d0f011dd63b08f85ed7b518ab82028100"};
TC_TransferToken(AdminAddress.c_str(), TC_GetSelfAddress(), TOTALSUPPLY);
}
}; TC_ABI(LRCToken, (Name)(GetDecimals)(Symbol)(TotalSupply)) //TC_ABI声明合约外部接口 以上就是相关合约代码的介绍,更多技术细节,可以访问项目github获取。 享云链上多资产技术与享云链其他技术的组合优势 享云链多资产赋予普通token资产以第一类资产的能力,让token资产能像原生数字货币一样自由流转,并能与任意的智能合约进行更复杂的交互操作。开发者能够通过智能合约发行Token资产,或通过跨链协议从其他现有公链转移数字货币到享云链上,还可以将链下的物理商品或资产Token化到享云链上,然后在享云链的去中心化交易所中进行交易。 也就是说,你的比特币、以太币等等所有的数字货币,都可以跨链转到享云链,然后享受到高性能的隐私保护和Defi等一条龙服务。这些跨链转入的加密货币(甚至是你用智能合约生成的token),都与其原生的链克具有同样的地位——直接在底层的账户模型中维护管理、执行公开或隐私的交易,而不是只能限制在智能合约内部。
图3:享云链支持合约发行多资产token