# VyperDeploy **Repository Path**: TianCaoJiangLin/VyperDeploy ## Basic Information - **Project Name**: VyperDeploy - **Description**: 使用node.js脚本来编译部署Vyper智能合约,编译需要事先安装Vyper编译器 - **Primary Language**: NodeJS - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-06-02 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README /** *使用Node.js脚本编译部署Vyper合约示例,有待进一步简化完善 目前仅处理一个简单合约 *操作环境 Mac python版本: Python3.7.3 *Node.js 7.6以上 依赖库 ethers 4.0以上 */ 具体步骤 一、安装对应环境: 1.1、安装virtualenv(Python虚拟机) 及 Vyper编译器,见 https://vyper.readthedocs.io/en/latest/installing-vyper.html 1.2、安装node及npm 见 https://nodejs.org/zh-cn/ 1.3、编写合约文件,保存在contract目录下(.py后缀方便语法高亮) 1.4、激活virtualenv 例如:source ~/vyper-venv/bin/activate(参见第一步) 二、设置私钥和网络环境 在工程根目录下建立.env文件,写入 export PRIVATE_KEY_MAINNET=your privateKey export NET_WORK=localhost 注意: 2.1 NET_WORK可以设置的值有 localhost,homestead,kovan,ropsten等,分别代表本地节点,主网络,kovan测试网,ropsten测试网等 也可以设置为私链url(RPC服务器) 如:http://kaihua.xyz:8545 , localhost对应的本地节点为 HTTP://127.0.0.1:8545,这里端口号是8545 一般使用Ganache建立 2.2 私钥对应的账号在指定网络要有一定数据的ETH 如果上传到GIT,请忽略这个.env文件 注意:在工程目录下(package.json所在的目录)运行以下命令 三、编译合约,(需要虚拟机环境)在python虚拟机环境中运行 npm run compile [filename] 其中filename是文件名,为可选项,代表contract目录下对应的文件,不输入时会有提示,注意不需要加上 contract/ 四、部署合约 运行 npm start [filename,constructor_params] 其中filename是文件名,为可选项,代表contract目录下对应的文件,不输入时会有提示,注意不需要加上 contract/ constructor_params为构造器参数,可选项,注意参数顺序和合约定义的顺序相同,相互之间用空格隔开 提示输入文件名时也要输入构造器参数 五、注意事项:在scripts/compile.js中第20行,是设置标准输出的缓冲区大小,注意不同系统也许有区别