#tetcoin #crypto #blockchain #framework

tetonix

使用Tetcore构建的兼容以太坊的Parachain

显示软件包…

1 个不稳定版本

0.1.0 2022年4月23日

#44#tetcoin

GPL-3.0-only

8KB

使用Tetcore构建的兼容以太坊的 Parachain

👉 _在 Tetcoin Tetonix 上发现Tetonix项目._
👉 _通过我们的技术文档 学习如何使用Tetonix网络._
👉 通过查看我们的 软件包级别文档(rustdocs) 来贡献。

使用Docker运行alphanet节点

为每个标记的版本发布Docker镜像。了解更多信息请使用 moonbeam --help

# Join the public testnet
docker run --network="host" purestake/moonbeam:v0.6.1 --chain alphanet

使用Docker运行本地开发节点

正在为在moonbeam上运行的应用程序构建dApp的开发者可能需要一个轻量级节点来本地工作。您可以使用开发服务快速启动一个节点,该节点没有后端的中继链。

# Run a dev service node.
docker run --network="host" purestake/moonbeam:v0.6.1 --dev

密封选项

上面的命令将以即时密封模式启动节点。它在收到交易时创建一个区块,类似于Ganache的自动挖矿。您也可以选择以固定的时间间隔创建区块,或通过RPC手动控制创建。

# Author a block every 6 seconds.
docker run --network="host" purestake/moonbeam:v0.6.1 --dev --sealing 3000

# Manually control the block authorship and finality
docker run --network="host" purestake/moonbeam:v0.6.1 --dev --sealing manual

预先资助的开发地址

以开发模式运行Moonbeam将预先为几个知名地址提供资金,这些地址的名称中(大多)包含字母“th”,以提醒您它们是为以太坊兼容性使用的。这些地址是从Substrate的规范助记词中派生出来的:bottom drive obey lake curtain smoke basket hold race lonely fit walk

# Alith:
- Address:0xf24FF3a9CF04c71Dbc94D0b566f7A27B94566cac
- PrivKey:0x5fb92d6e98884f76de468fa3f6278f8807c48bebc13595d45af5bdc4da702133

# Baltathar:
- Address:0x3Cd0A705a2DC65e5b1E1205896BaA2be8A07c6e0
- PrivKey:0x8075991ce870b93a8870eca0c0f91913d12f47948ca0fd25b49c6fa7cdbeee8b

# Charleth:
- Address:0x798d4Ba9baf0064Ec19eB4F0a1a45785ae9D6DFc
- PrivKey:0x0b6e18cafb6ed99687ec547bd28139cafdd2bffe70e6b688025de6b445aa5c5b

# Dorothy:
- Address:0x773539d4Ac0e786233D90A233654ccEE26a613D9
- PrivKey:0x39539ab1876910bbf3a223d84a29e28f1cb4e2e456503e7e91ed39b2e7223d68

# Ethan:
- Address:0xFf64d3F6efE2317EE2807d223a0Bdc4c0c49dfDB
- PrivKey:0x7dce9bc8babb68fec1409be38c8e1a52650206a7ed90ff956ae8a6d15eeaaef4

# Faith:
- Address:0xC0F0f4ab324C46e55D02D0033343B4Be8A55532d
- PrivKey:0xb9d2ea9a615f3165812e8d44de0d24da9bbd164b65c4f0573e1ce2c8dbd9c8df

# Gerald:
- Address:0x7BF369283338E12C90514468aa3868A551AB2929
- PrivKey:0x96b8a38e12e1a31dee1eab2fffdf9d9990045f5b37e44d8cc27766ef294acf18

构建Moonbeam节点

要构建Moonbeam,您需要一个合适的Substrate开发环境。如果您之前从未使用过基于Substrate的区块链,您可能需要先尝试阅读 设置Moonbeam节点 文档。如果您需要复习设置您的Substrate环境,请参阅 Substrate入门指南

# Fetch the code
git clone https://github.com/PureStake/moonbeam
cd moonbeam

# Build the node (The first build will be long (~30min))
cargo build --release

运行测试

Moonbeam具有Rust单元测试以及TypeScript集成测试。这些测试在CI中运行,也可以在本地运行。

# Run the Rust unit tests
cargo test
# Install dependencies for integration tests
cd moonbeam-types-bundle
npm i

cd ../tests
npm i

# Run integration tests
npm test

链ID

Ethereum规范描述了数字链ID。Moonbeam主网的链ID将是1284,因为Moonbeam到达地球需要1284毫秒。

Moonbeam节点支持多个公共链和测试网,以下列出了链ID。

网络描述 链ID
本地Parachain测试网 1280
本地开发测试网 1281
保留供其他测试网使用 1282 - 1283
Moonbeam (Polkadot) 1284
Moonriver (Kusama) 1285
Moonrock (Rococo) 1286
Moonbase Alpha 测试网 1287
保留用于其他公共网络 1288 - 1289

运行时架构

Tetonix 运行时使用 FRAME 构建,包括来自 tetcore、frontier、cumulus 以及 pallets/ 的组件。

来自 substrate

  • 实用工具:允许用户使用衍生账户和批量调用
  • 余额:跟踪 GLMR 代币余额
  • Sudo:允许特权账户进行任意运行时更改 - 将在发布前移除
  • 时间戳:链上时间概念
  • 交易支付:交易支付(费用)管理
  • 随机性集体翻转:一个(模拟)链上随机性信标。主网将用 parachain 随机性替代。

来自 frontier

  • EVM:封装 Ethereum 虚拟机的执行逻辑
  • Ethereum:为 EVM 提供类似 Ethereum 的数据编码和访问

来自 cumulus

  • ParachainUpgrade:用于在 parachain 上执行运行时升级的辅助工具
  • ParachainInfo:存储与 parachain 相关的常量,如 parachain ID 的位置

以下组件存储在 pallets/ 中。它们是为 Moonbeam 的特定需求设计的

  • Ethereum Chain Id:存储每个 Moonbeam 网络的链 ID 的位置
  • 作者内在:允许区块作者通过内在将他们的身份包含在区块中
  • Parachain Staking:选择质押者的小额质押组件

贡献

Tetonix 是在 GPL3 条款下开源的。我们欢迎贡献。请查看我们的 CONTRIBUTIONS.md 文档以获取更多信息。

无运行时依赖