截至2018年1月,以太坊已经开发了200多个应用(简称DApp,即区块链上的一个智能合约)。任何人都能够在以太坊上创建智能合约和去中心化应用,并在其中设立他们所定义的所有规则、交易方式和状态转移函数。
以太坊智能合约的调用流程如下: 1)编写智能合约:以太坊智能合约语言Solidity类似于JavaScript,通过编译生成以太坊虚拟机代码。 2)编译智能合约原始码:将其转换为可在以太坊虚拟机(EVM)上执行的代码。EVM是一个沙盒环境,合约代码在其中完成运行,并且与主区块链操作隔离。 3)部署智能合约:通过交易将可执行代码存储在区块链上,并生成合约。 4)调用合约:选择合适的函数和参数进行调用,合约调用将改变智能合约数据状态。
超级账本智能合约
Hyperledger Fabric中的链码(chaincode)通常处理由网络成员同意的业务逻辑,相当于智能合约。通过调用链码可以更新或查询提案交易中的分类账。链码可以被许可另一个链码调用。如果被调用链码属于不同的通道,只允许进行查询操作,而不会参与状态验证。
链码的开发多使用GO、Java、node.js等语言实现,每个链码必须实现链码接口,用于回应收到的交易。链码通过StubInterface与区块链账本、交易上下文和调用方证书进行交互。链码必须实现的方法为:Init用于初始化应用,Invoke用于响应各种Invoke事务。
EOS智能合约
EOS智能合约通过消息和共享内存数据库相互通信。异步通信的spam问题将通过资源限制算法解决。
开发EOS智能合约,需要完成合约对应的程序,并上传到EOS平台。智能合约目前只能使用C++开发,并编译成WebAssembly兼容的可执行程序。未来,随着Go语言对WebAssembly的支持,也可以使用Go语言编写智能合约。此外,还有开发者正在将EOS接入JavaScript虚拟机和Python虚拟机,因此在不久的将来,开发智能合约将不再受C++的限制。
Iamworriedhesold,alotofpeoplelikeZuckerbergalsosellingtheirsharesatafastpace,Thesepeoplecreatetopsinmarket...
受比特币价格上涨、自我保管意识增强和新产品发布的推动,Trezor 硬件钱包销量激增 600%。Trezor 史上最佳销售周恰逢比特币飙升开创性的比特币硬件钱包公司 Trezor 迎来了其历史上最成功的销售周。这一里程碑...
使用和理解加密的人数不断增加。 新的代币不断被创造出来,所有的目标都是一样的:取代当前的引领者。由于对构建新的加密货币没有限制,许多创新的代币已经向公众发布。 但是,在这些无数的令牌中,哪些是可以信任的呢?由于缺乏经验,...
周三晚上,比特币基本持平,但狗狗币和以太坊上涨,加密货币的总市值大致稳定在 1 万亿美元。在经历了一个基本低迷的市场月份之后,加密货币在 10 月结束时略微走高,为可能是忙碌的 11 月奠定了基础。由于美国联邦储备委员会...