web3.py
before we can play with our Dai. The enable_unstable_package_management_api
flag is a temporary security measure. While web3.pm
is in alpha, we want to be extra sure that users understand the API might change in the future. This precaution will be removed once the web3.pm
API stabilizes in the next web3.py
release.erc20.snakecharmers.eth
which resolves to the address 0x16763EaE3709e47eE6140507Ff84A61c23B0098A
. You can explore the various erc20 tokens available on this registry on the ethPM explorer. Since our w3
instance is already connected to mainnet, all we have to do is set the registry. dai-dai
package, it's quite simple to grab a contract instance class representing the Dai token contract. We will use the contract type DSToken
to grab the Dai instance. dai_package
is an instance of py-ethpm
's Package
class. This class automatically filters available deployments that live on the connected w3
instance. To access a package's deployments that live on a different blockchain, you can pass a new w3
instance to Package.update_w3()
.ethPM CLI
's create
command in combination with its corresponding Etherscan URI. If you're the curious type, and want to re-generate the package locally, these steps can be used to package up any of Etherscan's verified contracts on any blockchain. export ETHPM_CLI_ETHERSCAN_API_KEY="YOUR_ETHERSCAN_KEY_HERE"
etherscan://[CONTRACT_ADDRESS]:[CHAIN_ID]
etherscan://0x89d24A6b4CcB1B6fAA2625fE562bDD9a23260359:1
_ethpm_packages/
directory. You can use any package name or package version that makes sense.ethpm install etherscan://0x89d24A6b4CcB1B6fAA2625fE562bDD9a23260359:1 --package-name my-package --package-version 1.0.0
_ethpm_packages/
directory in the current working directory. If no such directory is found, it will automatically generate one. You can also pass the command an --ethpm-dir
flag to target a specific directory. _ethpm_packages/
directory, and you will also see it listed by calling ethpm list
.