智能合约的编译、部署和测试智能合约的编译、部署和测试智能合约的编译、部署和测试智能合约的编译、部署和测试智能合约的编译、部署和测试智能合约的编译、部署和测试智能合约的编译、部署和测试智能合约的编译、部署和测试智能合约的编译、部署和测试智能合约的编译、部署和测试智能合约的编译、部署和测试智能合约的编译、部署和测试智能合约的编译、部署和测试智能合约的编译、部署和测试智能合约的编译、部署和测试
”这一部分,之后再来看这些文件的作用。
①node_modules/、package-lock.json和package.json
这些是node项目的必须组成部分,包括了项目的配置信息、安装的依赖模块等,这里可以先无视。
②contracts/Greeter.sol
这个文件是项目中的重点,叫智能合约文件。什么是智能合约呢?你可以把智能合约,同样理解为一种可以运行的程序。只不过这个程序比较特殊,它是运行在以太坊的EVM虚拟机(https://ethereum.org/zh/developers/docs/evm/)环境上。并且,程序本身、程序的输入输出、运行结果,对所有人可见。
Solidity语言,是智能合约开发的主流语言之一。Solidity语言的入门教程,不是本文涉及的重点,这里只是简单提一下。
简单用Java类比一下:原来你写了一段Java代码,放进一个源文件叫作HelloWorld.java,用javac执行编译,*终在自己的电脑或者服务器上,被JVM虚拟机执行;现在写了一段Greeter.sol代码,它也可以被编译,被执行,只不过运行环境变成了以太坊的EVM虚拟机。
初始化项目以后,自动生成的代码是这样的智能合约的编译、部署和测试智能合约的编译、部署和测试智能合约的编译、部署和测试智能合约的编译、部署和测试智能合约的编译、部署和测试智能合约的编译、部署和测试智能合约的编译、部署和测试智能合约的编译、部署和测试智能合约的编译、部署和测试智能合约的编译、部署和测试