外部信息(extrinsic)是一条来自链外并包含在一个区块中的信息。外部信息可分为三类:inherents、已签名交易和未签名交易。
注意事件(events)不是外部信息。链针对链本身固有的信息片段发出事件。例如,Staking 奖励是事件,而不是外部行为,因为奖励是由链逻辑固有的情形触发的。
Substrate 中的一个区块由区块头和一组外部信息数组构成。区块头包含区块高度、父哈希、外部信息根、状态根和摘要。本节仅关注外部信息根(extrinsics root)。
在 runtime 中定义每个外部信息时,将其作为一个系列捆绑在一起,作为一个系列执行。外部信息根是该系列的密码学摘要。这有两个目的。首先,它可以防止在区块头已形成并分发后,对外部信息系列进行任何更改。其次,它提供了一种方法,允许轻客户端仅通过了解区块头,就可以简洁地验证任何给定的外部元素确实存在于一个块中。
波卡周报:Kusama Runtime已成功升级v9030,目前Shell运行稳定:波卡周报显示,Kusama理事会已经投票通过299号motion(将Kusama的runtime升级到9030)并进入全民公投,之后技术委员会对此进行了加速投票,已经在本周五结束投票!目前Kusama的runtime已升级到v9030。这个升级为平行链添加了一些必要的更改。此版本升级后,Shell平行链运行稳定。[2021/5/31 22:57:52]
区块参考资料
Inherents 是未签名的信息,仅由出块者插入到区块中。它们不会被散布在网络上,也不存储在交易队列中。从技术上讲,没有什么会去阻止一条 Substrate 链散布 inherents,但也不会有基于费用的防垃圾机制。
Inherents 表示以一种数据,它以比较特别的方式描述许多有效信息之一。它们之所以被认为是 “真实的”,仅仅是因为足够多的验证人都同意它们是合理的。
波卡生态数据基础设施组件Kylin Network完成合约地址迁移:2月27日消息,波卡生态数据基础设施组件Kylin Network在推特上提醒称,Kylin合约地址已经迁移至0xfaf9b1cbcaf4321ae834335c8ba50b170cf836e7。为了和LBP进行互操作,官方表示需要一个更健壮的合约设计,这在以前的合约地址中没有涉及。[2021/2/27 17:58:55]
例如,出块者可能会将时间戳 inherent 插入区块中。没有办法证明签名是真实的,证明时间戳是正确的。但验证人根据其他验证人认为时间戳的合理程度,来接受或拒绝该区块,依据可能是该时间戳在其自己的系统时钟的某个可接受范围内。
Inherents Reference
已签名交易(Singed Transactions)包含发出交易的帐户的签名,并且需要付费才能将交易包括在链中。因为可以在执行之前识别出在链上包括已签名交易的价值,所以可以在网络上垃圾交易风险较低的节点之间的散布这些交易。
波卡生态概念板块今日平均跌幅为3.72%:金色财经行情显示,波卡生态概念板块今日平均跌幅为3.72%。26个币种中5个上涨,21个下跌,其中领涨币种为:AKRO(+5.98%)、KSM(+5.08%)、CHI(+3.48%)。领跌币种为:XOR(-14.41%)、PHA(-10.50%)、MXC(-10.28%)。[2020/11/12 14:09:12]
签名交易符合以太坊或比特币交易的概念。
在某些情况下,需要进行未签名交易 (Unsigned Transactions)。小心使用未签名的事务,因为它们的验证逻辑可能很难。
由于交易未签名,因此无需支付任何费用。因此,交易队列缺乏防止垃圾交易的经济逻辑。未签名的交易也缺乏随机数,使得重放保护(Replay protection)变得困难。少数交易需要使用未签名的变体,但是它们将需要某种形式的垃圾交易防护,防护基于 Singed Extension 的自定义实现,可以存在于未签名交易中。
波卡开发基础框架Substrate发布更新:波卡(Polkadot)区块链开发基础框架Substrate已经在北京时间9月23日凌晨更新到v2.0最新版本Substrate v2.0.0 – two dot,此次更新主要针对runtime、client、API以及Runtime Migrations,包括允许设置任何账户做抵押的奖励目的地、更新任务Grafana仪表板、libp2p客户端更新、grandpa-rpc api更新等。(GitHub)[2020/9/23]
Substrate 中未签名交易的一个示例是权威机构发送的 “I'm Online”心跳交易。交易包括来自 Session 密钥的签名,该密钥不控制资金,因此无法支付费用。交易池通过检查 session 中是否已提交心跳来控制垃圾交易。
SignedExtension 是一种特征(trait),通过它可以使用其他数据或逻辑来扩展交易。签名扩展名可用于您需要在执行之前获得有关交易的一些信息的任何地方。这在事务队列中大量使用。
波卡生态Acala已实现平行链与中继链之间转账:8月20日,作为首个平行链测试网,Acala已成功实现将Token在平行链与中继链之间进行转账。另外,Acala还为平行链开发者社区分享了以下相关代码资料:
1.如何将一条基于Substrate链设置为平行链相关代码;2.如何实现简单跨链资产转移。[2020/8/20]
Runtime 可以使用其中一些数据(例如将要分派的 Call)来计算交易费用。签名扩展还包括 AdditionalSigned 类型,该类型可以保存任何可编码数据,因此允许您在包含或分派交易之前执行任何自定义逻辑。交易队列定期从 SignedExtension 调用函数以在构建区块之前验证交易,以避免包括将在区块中失败的交易。
虽然名字叫签名扩展,SignedExtension 其实也可以用于验证未签名交易。可以实现 * _unsigned 方法集来封装交易池所需的验证、垃圾邮件和重放保护逻辑。
Signed Extension Reference
参考资料
events: https://substrate.dev/docs/en/knowledgebase/runtime/events
区块参考资料: https://substrate.dev/rustdocs/v2.0.0-rc4/sp_runtime/traits/trait.Block.html
Inherents Reference: https://substrate.dev/rustdocs/v2.0.0-rc4/sp_inherents/index.html
Singed Extension: https://substrate.dev/docs/en/knowledgebase/learn-substrate/extrinsics#signed-extension
I'm Online: https://substrate.dev/docs/en/knowledgebase/runtime/frame#im-online
Signed Extension Reference: https://substrate.dev/rustdocs/v2.0.0-rc4/sp_runtime/traits/trait.SignedExtension.html
参考文档: https://substrate.dev/rustdocs/v2.0.0-rc4/sp_runtime/traits/trait.Extrinsic.html
Runtime Execution: https://substrate.dev/docs/en/knowledgebase/runtime/execution
交易费用: https://substrate.dev/docs/en/knowledgebase/runtime/fees
交易池: https://substrate.dev/docs/en/knowledgebase/learn-substrate/tx-pool
原文:https://substrate.dev/docs/en/knowledgebase/learn-substrate/extrinsics
翻译:PolkaWorld
欢迎学习 Substrate:
https://substrate.dev/
关注 Substrate 进展:
https://github.com/paritytech/substrate
关注 Polkadot 进展:
https://github.com/paritytech/polkadot
2020年6月21日,由金色财经主办的共为2020·区块链创新应用论坛在深圳拉开帷幕。Block.one首席执行官Brendan Blumer、金色财经CEO安鑫鑫就《Block.one、EOS.
1900/1/1 0:00:00为感谢和回馈新老用户对微比特(ViaBTC)矿池的支持,在4周年庆刚结束之际,微比特矿池于2020年7月1日-10月31日,推出为期4个月的“零费率”BTC挖矿活动.
1900/1/1 0:00:00比特币六月的活跃地址数为2540.85万,较五月下降了4.42%。不断收窄的波动区间似乎在蚕食存量市场上投资者们的耐心.
1900/1/1 0:00:00BTC减半后 加密市场“鲸鱼”持续上涨比特币减半以来,市场动荡,312暴跌后,更有不少人戏谑自己“资产减半”,而随着比特币价格的回升,我们似乎看到,尽管在减半与暴跌的压力下.
1900/1/1 0:00:00Neutra Finance遭到攻击,损失23.5 ETH:8月2日消息,BlockSec旗下交易浏览器Phalcon发推称,基于Arbitrum的Neutra Finance遭到攻击.
1900/1/1 0:00:00马某于2002年3月7日入职新X公司,双方签订有生效日期为2011年3月7日至2014年3月6日期间的劳动合同。合同中约定:马某在软件开发部门从事软件开发工作,月工资标准为税前15750元.
1900/1/1 0:00:00