以区块链为核心的数字科技可以推动信息技术服务,从而促进数字产业化;元宇宙可以创造和创新更广泛的应用场景,拉动信息消费促进产业数字化。因此,以区块链为核心的Web3.0技术体系推动形成的元宇宙数字生态,将对数字产业化和产业数字化提供有力支撑,为数字经济高质量发展打造新引擎。
From the perspective of conceptual model,the metauniverse is the superposition of technology system,content system,economic system,cooperation system and governance system.The core of the technical system is integration.Its technical system should be characterized by open source,programmability,interconnection,scalability,pluggable and other technical features
struct[[eosio::table("abihash"),eosio::contract("eosio.system")]]abi_hash{
name owner;
capi_checksum256 hash;
uint64_t primary_key()const{return owner.value;}//以账户的值作为该表的主键。
EOSLIB_SERIALIZE(abi_hash,(owner)(hash))
};
注意:通过[[eosio::table("abihash"),eosio::contract("eosio.system")]]的方式可以为合约定义一个状态表,而不再需要原始的typedef multi_index的方式了。这种方式适用于只有主键的情况,如果有多级索引,仍旧需要multi_index。
native合约类
先展示位于native.hpp文件中的native合约类以及位于eosio.system.hpp文件中的system_contract的区别。
class[[eosio::contract("eosio.system")]]native:public eosio::contract
class[[eosio::contract("eosio.system")]]system_contract:public native
eosio::contract是EOS中所有智能合约的基类,native合约类继承于它,然后system_contract合约类继承于native,而他们二者共同组成了eosio.system智能合约。
我们常用的system newaccount功能就是在native中声明的。案例及源码部署:MrsFu123 该action在创建新帐户后调用,此代码强制实施新帐户的资源限制规则以及新帐户命名约定。规则包含两个:
帐户不能包含'.'强制所有帐户的符号长度为12个字符而没有“.”直到实施未来的帐户拍卖流程。
新帐户必须包含最少数量的token(如系统参数中所设置),因此,此方法将为新用户执行内联buyram购买内存,其金额等于当前新帐户的创建费用。
[[eosio::action]]
void newaccount(name creator,
name name,
ignore<authority>owner,
ignore<authority>active);