Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    El De-dog-lo
    @fubuloubu
    I think we tried to get this done last summer, but it never happened.
    El De-dog-lo
    @fubuloubu
    I just went ahead and translated ABIv2 to an EIP:
    ethereum/EIPs#2792
    also turns out it was 2018 that I was remembering :grimacing:
    Nick Gheorghita
    @njgheorghita
    ERC 2678 aka ethpm v3 is up! It’s still in Draft stage so if anybody has questions or suggestions please post them here!
    @fubuloubu I’m definitely open to the idea of specifying the abi version in some way, let’s revisit this once #2792 lands
    chriseth
    @chriseth
    I'm not sure ABI should be versioned - maybe it is better to talk about which features are supported?
    solidity's v1/v2 distinction is less about the standard and more about the implementation
    bodytexture
    @bodytexture
    hi, total newby here, what is the absolute easyest way to explore ethpm (I know some python but would rather have a look at a GUI to start and see what 's inside to get an idea)
    ?
    El De-dog-lo
    @fubuloubu
    @bodytexture Brownie has support for EthPM v2, which should still work (hopefully). Still haven't updated to support EthPM v3 (not sure how that's coming along)
    bodytexture
    @bodytexture
    @fubuloubu thanks, I wish to have a look at all available preaudited smart contracts to see if they come toughether as building blocks , at least in my mind, to start immagining a project that could catch my curiosity enough to push me to study (i have little time because of family and other company)
    Nick Gheorghita
    @njgheorghita
    hey @bodytexture ! ethpm is currently upgrading from v2 to v3. native support for v3 in truffle should be available within the next couple of weeks. the ethpm-cli (https://github.com/ethpm/ethpm-cli) currently supports v3. to my knowledge, there isn’t a large supply of audited ethpm v3 packages at the moment- we’re hoping that will change once truffle integration and we’ll start to see the more popular projects release their contracts as ethpm packages. if you just want to get a feel for how ethpm works, i’d start with the cli & the docs (https://www.ethpm.com). if you just want to explore audited smart contracts - your best bet is to explore various github repos. if you find this frustrating, tweeting at your favorite protocols that they should release their audited contracts as ethpm packages is a great idea!
    El De-dog-lo
    @fubuloubu
    @njgheorghita how finalized is v3? specification still says WIP: http://ethpm.github.io/ethpm-spec/v3-package-spec.html
    El De-dog-lo
    @fubuloubu
    also, would like to sign myself up for a v3 package manifest for yearn. it perfectly fits my use case, and I want to be able to make it work with our Vyper contract
    Nick Gheorghita
    @njgheorghita
    @fubuloubu I can definitely help you out with that. And i’d like to push v3 into last call mode sometime this week, but i’ll notify this channel when that happens.
    ANN
    @FeliciaXmL_gitlab
    Solidity is the correct place due to the abi can be reconstructed causing the validation to be true
    dapp-whisperer
    @dapp-whisperer
    I am having problems using the cli, error ipfshttpclient.exceptions.VersionMismatch: Unsupported daemon version '[0, 7, 0]' (not in range: [0, 4, 3] – [0, 5, 0]) even when using virtual env as suggested, and installing ipfs system daemon @0.5.0
    Is there a way to browse packages without writing a script with one of the apis?
    Nick Gheorghita
    @njgheorghita
    @dapp-whisperer Hey! A fix just came through the release pipeline - a new version ethpm-cli==0.3.0 is now available that should work, let me know if you have any more problems
    Nick Gheorghita
    @njgheorghita
    @darealsisyphe Hey! That means that you’ll have to sign up for an infura account to get a project id and then set it as the environment variable WEB3_INFURA_PROJECT_ID. More details on how to can be found here: https://web3py.readthedocs.io/en/stable/quickstart.html?highlight=infura#provider-infura
    sahiltrehan
    @sahiltrehan
    Hey, need help in installing the EthPM package via truffle. Please suggest.
    Nick Gheorghita
    @njgheorghita
    Hey @sahiltrehan do you know what ethpm version the package is using? Or can you drop a link to the package here?
    El De-dog-lo
    @fubuloubu
    @njgheorghita wen Last Call for https://eips.ethereum.org/EIPS/eip-2678 ?
    @carlfarterson was wondering
    Nick Gheorghita
    @njgheorghita
    @fubuloubu Good call, I’ll push it into Last Call stage tomorrow
    El De-dog-lo
    @fubuloubu
    exciting! :rocket:
    Nick Gheorghita
    @njgheorghita
    @fubuloubu Sorry for the misinformation - I was unaware that we have to undergo a Review phase before Last Call. The spec is currently sitting in Review. There’s an open question on the eth-magicians forum about whether a Checksum should be required for in-lined sources. Once that’s resolved, I feel safe moving onto Last Call (finally :sweat_smile: ). Do you happen to remember why we settled on this requirement during the Solidity Summit sessions?
    El De-dog-lo
    @fubuloubu
    Review is new yeah
    can you link the forum?
    Johnny
    @jpferr0_twitter
    hello. is anyone here that can help me please? i'm getting an error:
    Traceback (most recent call last):
    File "c:\python39\lib\site-packages\pip_vendor\resolvelib\resolvers.py", line 171, in _merge_into_criterion
    crit = self.state.criteria[name]
    KeyError: 'blake2b-py'
    does anyone know how to fix it? i've tried reinstalling libs, didn't help, i guess
    btw, error is when i run pip install ethpm-cli
    Johnny
    @jpferr0_twitter
    @njgheorghita
    Nick Gheorghita
    @njgheorghita
    Hey @jpferr0_twitter - are you running on windows? I’m not familiar with this error message and everything seems to be installing fine for me locally. The library isn’t supported on windows afaik
    Johnny
    @jpferr0_twitter
    oh, i thought it was supported on windows! that's the problem then... thanks!
    Nick Gheorghita
    @njgheorghita
    EIP 2678 Will be in review status for another week or so - and then we’ll bump it to last call. If there are any lingering suggestions / feedback - let’s discuss it here - the sooner the better!
    Nick Gheorghita
    @njgheorghita
    EIP 2678 (aka ethpm v3) is now in Last Call - review period ends March 2
    Mike Hathaway
    @MikeHathaway

    Hi, is there a plan to push ethpm-cli:0.3.0 to dockerhub? It looks like only 0.2.0 is up there currently, and pip has been presenting issues.

    I've been attempting to install via pip, with version 21.0.1, and python 3.7.0 (On Ubuntu 18.04), but the installation process seems to be failing from conflicting dependencies. I created a fresh virtualenv for the installation. Also, the install process is quite extended with many messages of the type INFO: pip is looking at multiple versions of <PACKAGE>. When switching to a legacy resolver pip install ethpm-cli --use-deprecated=legacy-resolver, I get this message instead: ERROR: Could not find a version that satisfies the requirement ipfshttpclient==0.7.0a1 (from web3[tester]<6,>=5.13.0->ethpm-cli) (from versions: 0.4.10, 0.4.11, 0.4.12, 0.4.13, 0.4.13.1, 0.4.13.2, 0.6.0, 0.6.0.post1, 0.6.1) ERROR: No matching distribution found for ipfshttpclient==0.7.0a1 (from web3[tester]<6,>=5.13.0->ethpm-cli)

    El De-dog-lo
    @fubuloubu
    I think ethpm-cli is deprecated
    web3 has an ethpm module you should use
    Nick Gheorghita
    @njgheorghita
    @MikeHathaway +1 to web3’s ethpm module - as that library is under more active maintenance, but I’ll also push an updated version of ethpm-cli to dockerhub tomorrow
    Mike Hathaway
    @MikeHathaway
    Gotcha, i'll switch over to web3's module. Thanks for the help!
    dogira
    @dogira
    Hello
    cryptopossum
    @cryptopossum
    Professional Noob here. Not sure if I’m late, but I’m interested in using ethPM and such. How do I get started.
    Alex The Entreprenerd
    @GalloDaSballo
    Hey there! Trying to figure out how to add my package to ethPM, is there a shared registry or do I have to use my own ENS domain?
    Nick Gheorghita
    @njgheorghita
    Hey @cryptopossum ! The best place to get started with ethpm would be to read through the docs - https://docs.ethpm.com/ - and check out the tooling available in https://web3py.readthedocs.io/en/stable/ethpm.html . Both brownie and truffle support the spec, so you should be able to import ethpm packages into those frameworks.
    Hey @GalloDaSballo ! It’s recommended that you deploy and maintain your own permissioned, ethpm registry - which can easily be linked to any ENS domain for better ux. This prevents anybody from deploying malicious packages to your registry. Check out https://docs.ethpm.com/erc1319 for more
    S0AndS0
    @s0ands0:matrix.org
    [m]

    I'd appreciate a bit of help with publishing to the Ropsten sub-domain of infura.io via Truffle, currently I'm receiving a insufficient funds for gas * price + value error.

    Command Input

    cd ~/git/hub/solidity-utilities/library-mapping-address
    
    truffle publish

    Error Output

    Finding publishable artifacts...
    Uploading sources and publishing to registry...
    insufficient funds for gas * price + value
    Truffle v5.4.10 (core: 5.4.10)
    Node v16.10.0

    Questions

    • According to documentation I could find, EthPM packages are published to a test network, so how does one fund such transactions?

    • I'm currently using a private-key for HDWalletProvider signing, do I also need to provide the "Project Secret" generated by Infura?


    Configuration files

    truffle-config.js (abridged)

    "use strict";
    
    const infura_project_id = "452033b0e1a041c9ad40d9690a512225";
    const fs = require("fs");
    const os = require("os");
    const path = require("path");
    const ethpm_file = `${path.join(os.homedir(), ".ethpm.json")}`;
    let ethpm;
    let HDWalletProvider;
    if (fs.existsSync(ethpm_file)) {
      try {
        HDWalletProvider = require("@truffle/hdwallet-provider");
        ethpm = require(`${path.join(os.homedir(), ".ethpm.json")}`);
      } catch (error) {
        console.warn('Warning: ignored ->', error.message);
      }
    }
    
    module.exports = {
      networks: {
        ropsten: {
          provider: () => {
            if (!ethpm) {
              throw new Error("Empty 'ethpm' file?");
            }
            if (!infura_project_id) {
              throw new Error("Project ID is required");
            }
            const valid_keys = ["mnemonic", "private_key", "private_keys"];
            const auth_pair = Object.entries(ethpm).find(([key, value]) => {
              return valid_keys.includes(key);
            });
            if (!auth_pair || !auth_pair[1]) {
              throw new Error("Cannot find authentication within 'ethpm' file");
            }
            return new HDWalletProvider(
              auth_pair[1],
              `https://ropsten.infura.io/v3/${infura_project_id}`
            );
          },
          network_id: 3,
          gas: 5500000,
          confirmations: 2,
          timeoutBlocks: 200,
        },
      },
    
      compilers: {
        solc: {
          version: "0.8.7",
          settings: {
            outputSelection: {
              "contracts/LibraryMappingAddress.sol": {
                "*": ["devdoc", "userdoc"],
              },
            },
          },
        },
      },
    };

    ~/.ethpm.json (redacted)

    {
      "private_key": "0x...deadbeef..."
    }

    Source Links


    Documentation and Attribution

    S0AndS0
    @s0ands0:matrix.org
    [m]

    Fixed it!... Turns out the missing step was popping over to a test-net faucet, and funding an address 🤦


    New Questions

    • Is there a Git repository for the EthPM Docs -- FAQ that I may submit a Merge Request to?

    • Why is there no SSL cert setup for the Explore sub-domain of ethpm.com?

    OrlandoLee
    @OrlandoLee
    Hi team! so excited to find ethpm. In the open Web3 world, I was expecting developers can interact with all production contracts easily just like using another API, but it seems not that straight forward. That's why I feel ethpm has the potential to empower developers build apps more easily. Question, is there a place I can find all registered packages in ethpm? If we don't know the manifest-uri/package name, wondering how do we use ethpm install command? Thanks!