0

我只是想更多地了解区块链中的存储。当节点调用智能合约中的函数并将字符串 str 作为参数传递时,该字符串将存储在哪里?

字符串是否存储了两次,一次在合约存储中(在智能合约中编程),一次在链的块中(作为交易)?

还有一件事,智能合约的变量是否存储为哈希?我想知道智能合约存储的样子(它是否作为块中的交易进行哈希处理)

谢谢

4

1 回答 1

0

我只是想更多地了解区块链中的存储。当节点调用智能合约中的函数并将字符串 str 作为参数传递时,该字符串将存储在哪里?

该字符串将存储在生成的事务中。但是,这取决于您安装的智能合约。也许,一些智能合约不会保存它。

字符串是否存储了两次,一次在合约存储中(在智能合约中编程),一次在链的块中(作为交易)?

您不会在合约存储中存储任何内容,您只需执行合约。但是,区块链将信息存储两次:

  • Ledger:Ledger 存储所有交易。分类帐由区块链(“链”)组成,用于将不可变的、有序的记录存储在块中。每个节点都维护一个账本的副本。
  • 状态数据库:维护当前状态。它代表链交易日志中包含的所有键的最新值。智能合约调用针对当前状态数据执行交易。
于 2017-07-11T07:04:26.860 回答