Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add EthPM support #85

Closed
martyall opened this issue Aug 21, 2018 · 21 comments
Closed

Add EthPM support #85

martyall opened this issue Aug 21, 2018 · 21 comments
Assignees
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@martyall
Copy link
Contributor

martyall commented Aug 21, 2018

Overview

EthPM is the Ethereum Package Manager. It is a package manager backed by ethereum according to the specifications in EIP 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.

Implementation

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?

Notes

Truffle probably has the most mature implementation of EthPM integration, we could probably get a lot from that.

@martyall martyall added enhancement New feature or request help wanted Extra attention is needed labels Sep 12, 2018
@gitcoinbot
Copy link

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


This issue now has a funding of 550.0 DAI (550.0 USD @ $1.0/DAI) attached to it.

@gitcoinbot
Copy link

gitcoinbot commented Sep 18, 2018

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


Workers have applied to start work.

These users each claimed they can complete the work by 2 months, 3 weeks ago.
Please review their action plans below:

1) snezanasucurovic042 has applied to start work (Funders only: approve worker | reject worker).

Project should :

  1. Provide that solidity libraries are published to EthPM with corresponding npm releases or github tags. i have experience with Node.js.
  2. Understand EIP 190 and ERC20 (i have experience in implementation health informatics standards and understand importance of standards)
  3. Provide projects can still be compiled / deployed locally without a network connection, by use of local file system.
  4. Understand git tags. I don't have an experience with git tags.
  5. Provide to be able to use the Chanterelle cli to install packages and understand CLI foundations #77.

Learn more on the Gitcoin Issue Details page.

2) sliptype has applied to start work (Funders only: approve worker | reject worker).

I would like to contribute to FOAM and can provide an elegant Purescript package management implementation. My plan is to utilize the Truffle codebase to guide my architecture, along with design decisions from npm and yarn.

I have a strong working knowledge of the Ethereum ecosystem, javascript package management, and Purescript.

My main concern is the concurrent work of building the CLI, but I think that integration can be done at a later time.

Top priorities are:

  • Consuming chantarelle.json
  • Fetching the packages from EthPM
  • Caching the packages
  • Providing the packages to solc

Learn more on the Gitcoin Issue Details page.

@gitcoinbot
Copy link

@ravidsrk Hello from Gitcoin Core - are you still working on this issue? Please submit a WIP PR or comment back within the next 3 days or you will be removed from this ticket and it will be returned to an ‘Open’ status. Please let us know if you have questions!

  • warning (3 days)
  • escalation to mods (6 days)

Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days

@ravidsrk
Copy link

@gitcoinbot I was waiting to approval. I din't know i can start before approval of my proposal.

@mkosowsk
Copy link

@ravidsrk sorry for false start but I don't think the bounty hunter has yet been approved for this issue. Please hold off on any work for the time being :)

@ceresstation could you speak to the approval process when you have a moment? Thanks!

@mkosowsk
Copy link

@hbeckeri you have been approved to work on this bounty. Please start work at your earliest convenience 👍

To all that applied to work on this bounty, thanks for your applications but after careful consideration we have chosen @hbeckeri to complete this task.

@mkosowsk
Copy link

@hbeckeri sorry here but I have removed you from the ticket while I square away some further details. My apologies

@mkosowsk
Copy link

Hi @blinky3713, I understand for this bounty that there is specialized knowledge required of PureScript to complete the task. Do you have a moment to discuss the approach? I'm @Mitch_Kosowski on Telegram and Twitter. Thanks! (Also reaching out on #46)

@mkosowsk mkosowsk mentioned this issue Sep 27, 2018
@gitcoinbot
Copy link

@debragail Hello from Gitcoin Core - are you still working on this issue? Please submit a WIP PR or comment back within the next 3 days or you will be removed from this ticket and it will be returned to an ‘Open’ status. Please let us know if you have questions!

  • warning (3 days)
  • escalation to mods (6 days)

Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days

@debragail
Copy link

Yes I was reaching out to Mitch

@gitcoinbot
Copy link

@debragail Hello from Gitcoin Core - are you still working on this issue? Please submit a WIP PR or comment back within the next 3 days or you will be removed from this ticket and it will be returned to an ‘Open’ status. Please let us know if you have questions!

  • warning (3 days)
  • escalation to mods (6 days)

Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days

@gitcoinbot
Copy link

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


@debragail due to inactivity, we have escalated this issue to Gitcoin's moderation team. Let us know if you believe this has been done in error!

  • warning (3 days)
  • escalation to mods (6 days)

Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days

@spm32
Copy link

spm32 commented Nov 21, 2018

Hi @debragail any update here? If not we'll have to give it back to the crowd, thanks!

@debragail
Copy link

debragail commented Dec 3, 2018

mitchscreen
@ceresstation

@spm32
Copy link

spm32 commented Dec 3, 2018

Hey @blinky3713 is it alright if @debragail starts on this one?

@spm32
Copy link

spm32 commented Dec 11, 2018

Hey @debragail I'd say go ahead and start, let me know if you have any questions :)

@debragail
Copy link

Cool i'll start

@hatgit
Copy link

hatgit commented Jan 31, 2019

Hi @debragail, we noticed that work was recently stopped, was there any work that you wanted to submit for review by @ceresstation @blinky3713 ? Or if you have any questions, feel free to post them here. To reapply and begin work please visit the Gitcoin page for this bounty here: https://gitcoin.co/issue/f-o-a-m/chanterelle/85/1227 Thanks all!

@debragail
Copy link

I stopped because I couldn't conceptualize how Chanterelle could be better than Truffle.

@debragail
Copy link

I stopped because I couldn't conceptualize how Chanterelle could be better than Truffle

@team: in other words: the effort to keep chanterelle up to date could be very high and could(!) be a redundant effort. It is possibly better to adopt Truffle, and implement mechanisms for customization (e.g. Chanterelle extension for Truffle), contributing back to Truffle whenever it needs to be extended to support customization.

This would lead to a higher quality Truffle, and f-o-a-m having its "quasi-own" version (which can still be called "Chanterelle").

Essentially yes.

@iostat
Copy link
Member

iostat commented Sep 27, 2023

Closing this as EthPM appears to, no longer really be a thing...

@iostat iostat closed this as completed Sep 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

8 participants