MinaProtocol 如何部署zkApp(How to Deploy a zkApp)
全局安装 zkApp CLI
npm install -g zkapp-cli
zk --version
编写 zkApp
可选创建示例项目,也可创建自己的项目,下面分别介绍两个流程
创建示例项目
zk example
运行测试
npm run test
检查是否通过:
构建
npm run build
编译结果:
配置你的 zkApp
zk config
命令提示符将指导您将部署别名添加到项目config.json文件中。 部署别名可以是您想要的任何名称。 对于 Berkeley Testnet 上的此示例,请使用:
部署别名:berkeley
此示例使用berkeley,但部署别名可以是任何名称,并且不必与网络名称匹配。
Mina GraphQL API URL:https://proxy.berkeley.minaexplorer.com/graphql
部署时使用的交易费用:0.1
支付交易费用的账户:创建新的费用支付者对
接下来,选择创建新的付费者密钥对:
Create a new fee payer key pair
NOTE: the private key will be stored in plain text on this computer.
出现提示时,为新的付费者密钥对指定一个别名。对于此示例,请使用sudoku:
Create an alias for this account: sudoku
您的密钥对和部署别名已创建。
为您的付费账户注入资金。按照提示请求 tMINA。在此示例中,您的 MINA 地址已填充在 Testnet Faucet 上。当下一个区块产生时(约 3 分钟),tMINA 到达您的地址。
部署到测试网
zk deploy berkeley
按照提示操作并选择sudoku部署别名。
创建自定义项目
初始化项目
创建您自己的项目:zk project
创建的项目包含项目src/目录中的文件(智能合约)
zk project my-mina-next
- 选择随附的 UI 框架(如果有)
运行测试
npm run test
要在保存对代码的更改时自动重新运行测试,请使用 . 在监视模式下运行测试npm run testw
构建build
在项目目录中将 TypeScript 编译为 JavaScript /build
npm run build
配置你的 zkApp
跟上面的示例项目流程一样,就不做过多介绍。
部署 deploy
zk deploy my-berkeley
编写您的智能合约
zkApps 是使用 o1js 用 TypeScript 编写的。o1js 是一个 TypeScript 库,用于编写基于 Mina 协议的零知识证明的智能合约。使用 Mina zkApp CLI 创建新项目时会自动包含它。
结束语
觉得有用的,记得关注我的推特,将会持续整理交互/dapp/节点/挖矿等详细教程~