13 个版本 (主要破坏性)

13.1.0 2024年7月15日
12.1.0 2024年6月25日
11.1.0 2024年6月13日
10.1.0 2024年5月21日
1.2.0 2023年10月26日

#8#pallets

Download history 95/week @ 2024-05-06 328/week @ 2024-05-13 550/week @ 2024-05-20 417/week @ 2024-05-27 593/week @ 2024-06-03 585/week @ 2024-06-10 237/week @ 2024-06-17 750/week @ 2024-06-24 461/week @ 2024-07-01 253/week @ 2024-07-08 825/week @ 2024-07-15 465/week @ 2024-07-22 660/week @ 2024-07-29 239/week @ 2024-08-05 395/week @ 2024-08-12 559/week @ 2024-08-19

1,882 每月下载次数
5 个 crate 中使用(通过 pallet-encointer-ceremonies

GPL-3.0-or-later

85KB
2K SLoC

Encointer Pallets

Rust

encointer 服务的所有应用程序特定 pallet

pallet-encointer-ceremonies

执行 encointer 仪式的 substrate pallet

pallet-encointer-communities

用于 encointer 社区和管理其聚会地点的 substrate pallet

pallet-encointer-ceremonies

执行 encointer 仪式的 substrate pallet

pallet-encointer-balances

支持多个社区和滞纳金的 balances 模块

pallet-encointer-bazaar

社区成员的分类广告注册,链接到 IPFS

personhood-oracle & sybil-gate 模板 [已弃用]

一个带有 XCM 支持的数字人格验证预言机。有关更多信息,请参阅 stale demo 分支上的 README.md:https://github.com/encointer/pallets/tree/demo/xcm-personhood-oracle-and-sybil-gate-template#encointer-pallets

开发提示

基准测试

您可以通过在具有节点仓库中脚本的 encointer-node 中运行基准测试来自动更新 WeightInfo 定义: ./scripts/benchmark_runtime.sh 并取消注释包含 frame-weight-template-full-info.hbs 的行(请参阅脚本的文档)。

序列化

  • 在 json-rpc crate 中存在一个已知问题,即序列化 u-/i128,请参阅(https://github.com/paritytech/substrate/issues/4641)。这主要影响我们在自定义 RPC 中序列化定点数时。在 ep-core 中有一个自定义序列化垫片作为该问题的解决方案,可以作为自定义 serde 属性使用
#[cfg_attr(feature = "serde_derive", derive(Serialize, Deserialize))]
#[cfg_attr(feature = "serde_derive", serde(rename_all = "camelCase"))]
pub struct BalanceEntry<BlockNumber> {
	/// The balance of the account after last manual adjustment
	#[cfg_attr(feature = "serde_derive", serde(with = "serialize_fixed"))]
	pub principal: BalanceType,
	/// The time (block height) at which the balance was last adjusted
	pub last_update: BlockNumber,
}

我们还将使用基底的序列化标准,即使用camelCase

版本控制

主版本号必须在polkadot-sdk发布升级时增加,因为这些总是破坏性变更。为了方便起见,本仓库中的所有crate都应具有相同的版本号。

我们单独提升crate的次要版本,并对仓库进行标记,标记为最高crate版本

动机:如果有所更改,git blame应显示在crate目录级别。这样,在GitHub上浏览仓库时,可以真正显示某个pallet或crate何时被修改。即使只是对上游升级的调整,只需将crate版本提升到最新,这将全局标记

Pallet仓库版本无需与节点或 parachain(或运行时)crate版本对齐 - 尽管过去一直是这种情况。

crates.io

使用cargo-release,我们在tomls中明确排除非公开crate

cargo install cargo-release

# check workspace dependency tree
cargo tree --workspace -i ep-core

# add --execute if you're sure
cargo release publish -p ep-core -p encointer-primitives -p pallet-encointer-scheduler -p pallet-encointer-balances -p pallet-encointer-communities
cargo release publish -p encointer-ceremonies-assignment -p encointer-meetup-validation -p pallet-encointer-ceremonies -p pallet-encointer-bazaar -p pallet-encointer-reputation-commitments -p pallet-encointer-faucet -p pallet-encointer-democracy
cargo release publish -p encointer-rpc -p encointer-balances-tx-payment -p encointer-balances-tx-payment-rpc-runtime-api -p encointer-balances-tx-payment-rpc -p pallet-encointer-bazaar-rpc-runtime-api -p pallet-encointer-bazaar-rpc -p pallet-encointer-ceremonies-rpc-runtime-api -p pallet-encointer-ceremonies-rpc -p pallet-encointer-communities-rpc-runtime-api -p pallet-encointer-communities-rpc

lib.rs:

有关聚会分配的所有内容

依赖关系

~20–35MB
~588K SLoC