这篇文章主要介绍一个python开发eos智能合约的通用平台pyeos。pyeos是基于EOSIO发展的自主式通用智能合约平台。目前github上116个star。
构建PyEos
下载源代码
git clone https://www.github.com/learnforpractice/pyeos
cd pyeos
git submodule update --init --recursive
安装依赖(Ubuntu)
sudo apt-get install libleveldb-dev
sudo apt-get install libreadline-dev
安装依赖(Centos)
sudo yum install leveldb-devel
sudo yum install readline-devel
sudo yum install libffi-devel
安装依赖(macOS)
brew install leveldb
brew install readline
安装JDK 10或更高版本(可选)
对于想要尝试Java Smart Contract
的用户,请将JDK更新到10或更高版本,然后将JAVA_HOME
导出到JDK安装目录的根目录。
export JAVA_HOME = <jdk目录>
如果你安装了较早的JDK并且JAVA_HOME不为空并且你不想尝试Java智能合约,请在构建之前使用以下命令清空JAVA_HOME
:
export JAVA_HOME =
Building
./eosio_build.sh
智能合约开发
Python智能合约开发
运行PyEos
打开终端,cd到[PROJECT_DIR]/build/program
目录,运行以下命令:
./pyeos/pyeos --manual-gen-block --debug -i --contracts-console
如果这是你第一次启动PyEos,PyEos会为你创建一个测试钱包,放在data-dir/mywallet.wallet
中,然后console将打印钱包密码,如下所示:
wallet password:PW5JWE5g6RZ7Fyr2kmCphDqZo4uivdeGpUpndgFZ52rsduhtf9PRJ
由于它仅用于测试,因此密码将保存到data-dir/data.pkl
,因此下次启动pyeos进行测试时,pyeos将为你解锁钱包。
另外PyEos会将三个私钥导入钱包,这对测试非常有用。
'5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3',
'5JEcwbckBCdmji5j8ZoMHLEUS8TqQiqBG1DRx1X9DN124GUok9s',
'5JbDP55GXN7MLcNYKCnJtfKi9aD2HvHAdY7g8m67zFTAFkY1uBB'
请记住,永远不应在真实帐户中使用这些私钥,否则你可能会丢失帐户中的所有加密属性。
除此之外,PyEos将为你创建四个重要帐户:
eosio.bios,eosio.msig,eosio.system,eosio.token
并在testnet上发布他们的智能合约。
虽然上述步骤在现实世界中永远不会发生,但它确实为测试智能合约提供了极大的便利。从而节省了大量宝贵的时间,提高了开发效率。
使用sketch工具生成源代码
在PyEos控制台中运行以下命令,