用 Python 开发 DeFi 去中心化应用(上)
共 4325字,需浏览 9分钟
·
2021-06-20 00:34
更高效的开发体验 强大的人工智能和机器学习 捆绑的金融科技包 综合分析工具 生产环境中的可靠性
python --version
python3 --version
npm -v
npm install -g ganache-cli
pip install eth-brownie
pip3 install eth-brownie
Brownie v1.13.0- Python development framework forEthereum
Usage: brownie <command> [<args>...] [options <args>]
Commands:
init Initialize a new brownie project
bake Initializefrom a brownie-mix template
pm Installand manage external packages
compile Compile the contract source files
console Load the console
test Run test cases in the tests/ folder
run Run a script in the scripts/ folder
accounts Managelocal accounts
networks Manage network settings
gui Load the GUI to view opcodes and test coverage
analyze Find security vulnerabilities using the MythX API
Options:
--help -h Displaythis message
--version Show version andexit
Type'brownie <command> --help'for specific options and more information about
each command.
brownie bake chainlink-mix
cd chainlink
build
:这是项目跟踪您部署的智能合约和编译的合约的地方contracts
:合同的源代码,通常用 Solidity 或 Vyper 编写interfaces
:您需要使用已部署合同的接口布局。与合约的每次交互都需要一个 ABI 和一个地址。接口是获取合约 ABI 的好方法scripts
:我们创建的脚本来自动化处理我们的合同的过程 测试tests
:测试brownie-config.yaml
:这是我们为 Brownie 了解如何使用我们的智能合约提供所有信息的地方。我们要部署到哪个区块链?有没有我们想要设置的特殊参数?所有这些都在配置文件中设置。
requirements.txt
、 README.md
、 LICENSE
和 .gitignore
。当您练习时,您会发现它们的用途。WEB3_INFURA_PROJECT_ID
。您可以从 Infura 站点免费获得一个 Infura ID。您也可以使用其他 web3 提供程序或您自己的节点,但您必须为此做更多的配置。brownie-config.yaml
文件中,您可以使用主机密钥设置网络,并定义您不想使用 MetaMask 时想要连接的 URL。0x
。建议在测试和导出密钥时使用与主帐户不同的帐户,以防万一。
export PRIVATE_KEY=0x96789…..
export WEB3_INFURA_PROJECT_ID=’dog cat mouse….’
printenv
并在那里看到你的环境变量,你就会知道你做对了。deploy_price_consumer_v3.py
的脚本。这将部署我们的智能合约,以美元读取以太坊的价格。
brownie run scripts/price_feed_scripts/deploy_price_consumer_v3.py --network kovan
Running'scripts/price_feed_scripts/deploy_price_consumer_v3.py::main'...
Transaction sent: 0x23d1dfa3937e0cfbab58f8d5ecabe2bfffc28bbe2349527dabe9289e747bac56
Gas price: 20.0 gwei Gas limit: 145600Nonce: 1339
PriceFeed.constructor confirmed - Block: 22721813Gas used: 132364(90.91%)
PriceFeed deployed at: 0x6B2305935DbC77662811ff817cF3Aa54fc585816
欢迎添加下方二维码加入社群
一起探讨Python与区块链开发技术
点击下方阅读原文加入社区会员