8个版本
0.0.8 | 2019年11月24日 |
---|---|
0.0.6 | 2019年10月12日 |
0.0.2 | 2019年9月25日 |
#1314 in #界面
210KB
821 行
Pyra:为大众打造的分布式账本
不再有技术贵族。
开发下一个Web3.0所需的工具箱
Pyra是一个高级分布式账本命令行接口,使用Rust编写,旨在能够在Substrate上运行。正如Keras团队所说,“以最短的时间从想法到结果,是做好研究的关键。”
如果你需要一个分布式账本开发接口,可以使用Pyra:
- 允许轻松快速地进行原型设计(通过用户友好性、模块化和可扩展性)
- 支持后端逻辑、前端测试Web UI以及容器化云基础设施
- 在本地/云环境中部署测试网,与其他分布式账本平台进行实战测试
快速链接
使用方法
安装
Cargo
cargo install pyra
更新
cargo install --force pyra
创建分布式账本
目前,pyra只有一个平台Substrate来开始你的项目。更多平台即将推出...
pyra init
然后你需要输入名称以进行注册
选择平台后,pyra将
- 将你的项目添加到项目注册表中
- 创建一个以你的项目命名的文件夹
- 获取开发分布式账本所需的包
- 如果需要,设置WASM环境
- 构建包以便运行(在某些平台上可能需要较长时间。)
使用以下命令导航到文件夹
cd the-name-of-your-project
the-name-of-your-project
├── the-name-of-your-project-frontend # substrate-frontend-template
├── the-name-of-your-project-node # substrate-node-template
└── the-name-of-your-project-polkadotjs-apps # polkadot-js/apps
前端
前端来自substrate-frontend-template。
使用以下命令导航到项目文件夹内的文件夹
cd the-name-of-your-project-frontend
the-name-of-your-project-frontend
├── LICENSE
├── node_modules # Built with init command
├── package.json
├── public
├── README.md
├── src
└── yarn.lock
节点
使用以下命令导航到项目文件夹内的文件夹
cd the-name-of-your-project-node
the-name-of-your-project-node
├── azure-pipeline.yml
├── build.rs
├── Cargo.lock
├── Cargo.toml
├── LICENSE
├── README.md
├── runtime
├── scripts
├── src
└── target # Built with init command
polkadotjs-apps
polkadotjs-apps来自polkadot-js/apps。
使用以下命令导航到项目文件夹内的文件夹
cd the-name-of-your-project-polkadot-js-apps
the-name-of-your-project-polkadotjs-apps
├── babel.config.js
├── BOUNTIES.md
├── CHANGELOG.md
├── CONTRIBUTING.md
├── deployment.extras.yml
├── deployment.template.yml
├── Dockerfile
├── gh-pages-refresh.sh
├── i18next-scanner.config.js
├── jest.config.js
├── lerna.json
├── LICENSE
├── node_modules # Built with init command
├── package.json
├── packages
├── postcss.config.js
├── README.md
├── scripts
├── test
├── tsconfig.eslint.json
├── tsconfig.json
├── types.json
└── yarn.lock
轻松管理你的项目
你现在可以使用命令打开你的当前工作
pyra open
你也可以使用命令设置每个项目使用的编辑器
pyra seteditor
如果你想删除项目,运行
pyra remove
您可以使用清单功能删除多个项目。
选择项目后,Pyra 将删除该项目。
构建您的节点
在您完成 substrate 运行时的工作后,运行命令
pyra build --target runtime-or-node(默认选项是 node)
然后 Pyra 将询问要构建运行时或节点的项目
然后它将在项目目录中执行 cargo build
运行您的节点
要运行您的节点,请运行命令
pyra run
然后 Pyra 将询问要运行节点二进制文件的项目
选择项目后,Pyra 将通知在不需要时终止节点守护进程的 pid。
与节点交互
即将推出...前端反应脚本存在错误
要打开前端以与运行中的节点守护进程交互,请运行命令
pyra interact --ui template-or-apps
然后 Pyra 将询问要运行前端应用程序的项目
选择项目后,Pyra 将在前端目录中运行 yarn start
或 yarn build
,然后在项目目录中启动 http 服务器以托管构建的二进制文件,并打开与运行地址对应的网页浏览器(例如 localhost:3000
,localhost:8000
)。
将节点部署到本地/云环境
即将推出...需要确定要关注的云平台
要将节点部署到本地/云环境,请运行命令
pyra deploy --env docker-or-cloud
选择 docker 将运行 docker-compose
命令,但云将提供选择。选择平台后,它将从单独的包中获取 terraform 脚本或 kubernetes 配置并运行它。
发布您的节点/运行时模块
即将推出...parachaintracker 处于开发阶段
使用命令发布您的节点/运行时模块
pyra publish --target runtime-or-node
然后 Pyra 将询问要发布的项目
选择项目后,Pyra 将将初始化时创建的 package.json 中保存的项目数据提交到托管网站。
使用的堆栈
- Rust
- clap
- indicatif
- colored
- Cargo
- yarn
- Jest: 即将推出
- terraform 即将推出
- docker 即将推出
- kubernetes 即将推出
路线图
-
管理项目
- 初始化项目
- 添加现有项目
- 设置编辑器以在每个项目中工作
- 从注册表中删除项目并删除文件
-
将命令映射到操作
- Parity Substrate
- Cumulus
- Edgeware(StraightEdge)
- Subsocial
- Kilt
- SpeckleOS
- Hyperledger
-
部署基础设施
- Docker
- 云
- Microsoft Azure
- Google cloud
- Amazon Web Service
- Digital Ocean
-
项目重新初始化的 package.json
- 模块(运行时)
- 前端
- 应用程序
平台支持
Parity Technologies,Web3 基金会
有关更多平台支持,请提交问题或联系 [email protected]
问题
为什么我创建了此项目?
当我尝试在 Parity substrate 运行时模块上开发某些内容时,我必须转到运行时模块目录,运行 cargo build
,然后回到项目根目录,并在 target
目录中查找 wasm 文件。将这些操作放入 CLI 命令中
cd substrate-node-template
cd runtime
cargo build # and wait for 5 mins
cd ..
cd ..
cd target
cd release
... and it goes on and on...
命令实在是太多了 🐨。想象一下,当有人需要在本地/云端环境中部署账本时。期望有更多的Docker命令,还有一大堆命令供站点可靠性工程师处理。那么,大众何时才能接触到分布式系统呢?领域中的每个区块链都拥有他们无法处理的底层技术;Docker、Kubernetes、Terraform、Prometheus、Grafana……名单还在不断延长。
最终,我制作了一个工具,只需一个命令就能完成这些操作。
为什么是pyra……?
我想让名字简单,我尝试使用sup(substrate-up),但其他框架也在出现(例如subsocial、kilt等),substrate-up仅限于Parity substrate。然后我发现pyra,从pyra+mid开始,开始用它来称呼这个项目。
鸣谢
Projectman by Saurabh Daware。这个项目始于他的卓越想法和项目的Rust 移植。
Polkadot-deployer by Federico Gimenez,作为部署参考。
Substrate templates by Substrate developer hub。Pyra运行在他们构建的技术之上。Polkadot-js-apps by polkadot-js团队,为与节点交互提供了一种傻瓜式解决方案。
支持
目前该项目由Hyungsuk Kang独立开发和维护。
要为此项目做出贡献
- 在问题中报告错误和改进请求
- 为构建区块链平台开发接口的通用命令编写文档
- 在platform文件夹中为您的区块链平台编写命令,并将其作为PR提交
- 使用此软件
- 赞助此项目
欢迎合作,请在此处或
依赖项
~10–22MB
~322K SLoC