Compile Solidity contracts.
- python3 version 3.6 or greater, python3-dev
You can install the latest release via pip
:
pip install ape-solidity
You can clone the repository and use setuptools
for the most up-to-date version:
git clone https://github.com/ApeWorX/ape-solidity.git
cd ape-solidity
python3 setup.py install
In your project, make sure you have a contracts/
directory containing Solidity files (.sol
).
Then, while this plugin is installed, compile your contracts:
ape compile
The byte-code and ABI for your contracts should now exist in a __local__.json
file in a .build/
directory.
To configure import remapping, use your project's ape-config.yaml
file:
solidity:
import_remapping:
- "@openzeppelin=path/to/open_zeppelin/contracts"
If you are using the dependencies:
key in your ape-config.yaml
, ape
can automatically
search those dependencies for the path.
dependencies:
open_zeppelin: OpenZeppelin/[email protected]
solidity:
import_remapping:
- "@openzeppelin=open_zeppelin/contracts"
Once you have your dependencies configured, you can import packages using your import keys:
import "@openzeppelin/token/ERC721/ERC721.sol";
This project is in development and should be considered a beta. Things might not be in their final state and breaking changes may occur. Comments, questions, criticisms and pull requests are welcomed.
This project is licensed under the Apache 2.0.