智能合约的交易细节在以太坊区块链的什么地方被写入?
Where in Ethereum blockchain do transaction details of a smart contract get written?
我一直在阅读有关区块链和以太坊的资料,但我似乎无法理解几个概念。
首先,新创建的交易存储在区块链的哪个位置?因此,如果区块链已经运行了一段时间,假设我们现在在区块 X 上。如果我今天部署我的合约,并且它被执行,我的交易细节会存在于区块 X 之后的每个区块上,还是仅存在于区块 X + 1 上?我的交易详细信息是该区块的唯一详细信息,还是该区块包含该时间段内发生的每笔交易?同样,所有先前区块的交易是否也被写入后续区块?如果从同一个合约执行超过 1 个交易,只是写成 2 个不同的块或在同一个块中,会发生什么?
其次,我在设计合约的时候看到,它通常仅限于两个参与方,其他人要使用合约,必须创建一个新的合约实例,这种理解是否正确?还是应该以每个人都使用它并且只创建一个实例的方式设计 1 个合约?
where in the blockchain is a newly created transaction stored ?
在每个节点存储的块中。
will my transaction details reside on every block after block X or
only on block X + 1 ?
每笔交易只存在于一个区块中。每个区块都与前一个区块相关联,因此您的交易贯穿整个区块链。
And will my transaction details be the only details on that block, or
will that block contain every transaction that happened within that
time period ?
这取决于区块链的实施。例如,比特币区块存储了整个 10 分钟内发送的所有交易,因为每个区块每 10 分钟(或多或少)被开采一次。
Second
区块链是一个分布式系统,所有成员都处于同一层次。因此,他们就他们将要做的事情达成共识,即所有成员必须就其区块链的功能达成一致。
对于每个区块链,您可以拥有多个合约。但我会更简单地解释它。智能合约是安装在区块链所有节点上的代码,每个请求都针对它执行。所以,每个 node/member 必须相同。
我一直在阅读有关区块链和以太坊的资料,但我似乎无法理解几个概念。
首先,新创建的交易存储在区块链的哪个位置?因此,如果区块链已经运行了一段时间,假设我们现在在区块 X 上。如果我今天部署我的合约,并且它被执行,我的交易细节会存在于区块 X 之后的每个区块上,还是仅存在于区块 X + 1 上?我的交易详细信息是该区块的唯一详细信息,还是该区块包含该时间段内发生的每笔交易?同样,所有先前区块的交易是否也被写入后续区块?如果从同一个合约执行超过 1 个交易,只是写成 2 个不同的块或在同一个块中,会发生什么?
其次,我在设计合约的时候看到,它通常仅限于两个参与方,其他人要使用合约,必须创建一个新的合约实例,这种理解是否正确?还是应该以每个人都使用它并且只创建一个实例的方式设计 1 个合约?
where in the blockchain is a newly created transaction stored ?
在每个节点存储的块中。
will my transaction details reside on every block after block X or only on block X + 1 ?
每笔交易只存在于一个区块中。每个区块都与前一个区块相关联,因此您的交易贯穿整个区块链。
And will my transaction details be the only details on that block, or will that block contain every transaction that happened within that time period ?
这取决于区块链的实施。例如,比特币区块存储了整个 10 分钟内发送的所有交易,因为每个区块每 10 分钟(或多或少)被开采一次。
Second
区块链是一个分布式系统,所有成员都处于同一层次。因此,他们就他们将要做的事情达成共识,即所有成员必须就其区块链的功能达成一致。
对于每个区块链,您可以拥有多个合约。但我会更简单地解释它。智能合约是安装在区块链所有节点上的代码,每个请求都针对它执行。所以,每个 node/member 必须相同。