Development resources at your finger tips
Build with the coolest Web3 projects
Recurring funding for Open Source
Ethical ads to power Open Source
Learn about Web3 & earn rewards
Show appreciation for each other
Meet fellow developers, designers, futurists and more. Collaborate and BUIDL awesome projects together.
Discover great web3 organizations, work on meaningful projects and build relationships with like minded people. Browse Tribes
Meet the top hunters and contributors from our community.
KERNEL is an 8-week, invite-only program for top tech talent looking to build relationships, products, and companies in blockchain and Web 3. 100 tal…
Heyo Gitcoiners! With an entire city of hackers, coders and blockchain innovators relocated on our platform, the atmosphere is just buzzing with crea…
Type in [[ 2- term.length]] more characters to get results
[[ result.title ]]
[[ result.description | truncate(70) ]]
No matches found
Gitcoin is GDPR complaint. Learn more in
Gitcoin's Terms & Conditions.
Check out the Issue Explorer
Looking to fund some work? You can submit a new Funded Issue here.
EthPM is the Ethereum Package Manager. It is a package manager backed by ethereum according to the specifications in [EIP 190](https://github.com/ethereum/EIPs/issues/190). According to the project, the purpose is to host packages that cover a few use cases:
> Packages with contracts intended to be used as base contract such as the common owned pattern.
> Packages with contracts that are ready to use as-is such as an ERC20 token contract.
> Packages with deployed contracts such as libraries or services.
## Desired Integration
A lot of solidity libraries are now published to EthPM without corresponding npm releases or github tags. Currently Chanterelle can use npm distributed solidity libraries to help solc find dependencies, but not EthPM. Ideally there would be a dependencies list (with versions or bounds) in the `chanterelle.json` file which Chanterelle can use to fetch these dependencies.
We would like to fetch the dependencies for the project and then feed them to solc. However, we also want to keep a cache in the local filesystem, probably just in the project root in a dot folder. This way projects can still be compiled / deployed locally without a network connection.
It would also be nice to be able to do a source code dump of a project. Because many of these projects EthPM releases don't have corresponding git tags in the respective repos (or sometimes the repos seem to have multiple names depending on the time, e.g. open-zeppelin vs zeppelin-solidity). Where the source files get written should be configurable in the `chanterelle.json` file with a sensible default.
## Nice To Have
Ideally we would be able to use the `Chanterelle` cli to install packages (see #77) and update the `chanterelle.json` file accordingly.
Open question: How does this fit in with the cliquebait genesis generator, or is there nothing to do there?
Truffle probably has the most mature implementation of EthPM integration, we could probably get a lot from that.