区块链中的交易类型

在区块链中,交易提供了一种机制,用于对状态进行更改,这些更改可以包含在区块中。在Substrate中,有三种不同类型的交易:Signed transactions,Unsigned transactions和Inherent transactions。在Substrate中,所有三种交易类型通常都被更广泛地称为extrinsics。

签名交易:Signed transactions

Signed transactions是最常见的交易类型。它必须包括发送入站请求以执行某些运行时调用的帐户的签名。通常,请求使用提交请求的帐户的私钥进行签名。在大多数情况下,提交请求的账户还需支付交易费用。这种类型的交易适用于需要验证发送方身份并支付交易费用的情况。

假设您有一个帐户,其中有一些代币。如果您想将代币转移到Alice,您可以调用Balances pallet中的pallet_balances::Call::transfer函数。因为您的帐户用于进行此调用,因此您的帐户密钥用于对交易进行签名。作为请求者,您通常需要支付费用以处理您的请求。

未签名交易:Unsigned transactions

Unsigned transactions不需要签名,也不包含有关谁提交了交易的任何信息。您必须定义验证无符号交易的条件以及保护网络免受滥用和攻击所需的逻辑。由于无符号交易需要自定义验证,因此此交易类型比签名交易消耗更多资源。这种类型的交易适用于不需要验证发送方身份且不需要支付交易费用的情况。

原生交易:Inherent transactions

Inherent transactions是一种特殊类型的无符号交易。使用此类型的交易,区块创作节点可以直接将信息添加到区块中。Inherent transactions只能由调用它们的区块创作节点插入到区块中。这种类型的交易适用于区块创作节点需要直接将信息添加到区块中的情况。from刘金,转载请注明原文链接。感谢!

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务