Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    jacekv
    @jacekv
    Which version of npm do you have? OS?
    jacekv
    @jacekv
    Alright, I figured it out. When I do npm install web3-eea it installs web3-eea in the node-modules directory. The loader searches for a index.js in the web3-eea folder. But there is no index.js file in the web3-eea directory, it is in web3-eea/src/
    I am actually puzzled why it is the case. I added symlinks in the web3-eea folder into the web3-eea/src/ folder and then it works
    jacekv
    @jacekv
    Earlier I created symlink: Forget it. The problem is, that the "main" key in the package.json points to index.js instead of src/index.js. There has been a pull request, which fixed the problem. It turns out that when I use npm install, the bug remains. Hasn't it be published to npmjs.com?
    Ivaylo Kirilov
    @iikirilov
    good point - I am not sure about the publishing status.
    Nick Addison
    @naddison36
    Is it possible to increase the logging level of Orion like you can with Pantheon? eg --logging=DEBUG
    Felipe Faraggi
    @faraggi
    :) I've pinged the team for the actual answer, but FWIW I haven't seen that in Orion before and don't see it in the Orion docs.
    I'll get back to you with an answer ASAP
    Nick Addison
    @naddison36
    Also, I can see in the Orion logs POST /partyinfo HTTP/1.1 but I can't find any doco on the partyinfo API method. What does it do?
    Thanks @faraggi. BTW, I checked the Orion docs before asking here :-)
    Ivaylo Kirilov
    @iikirilov
    HEy @naddison36 from the comments in the code PartyInfoHandler - Used as a part of the network discovery process. Look up the binary list of constellation nodes that a node has knowledge of.
    Nick Addison
    @naddison36
    thanks @iikirilov
    jacekv
    @jacekv

    Hey guys, I encountered a new problem while setting up the private network. I finished setting up the Orion and Pantheon Nodes following https://docs.pantheon.pegasys.tech/en/latest/Privacy/Tutorials/Configuring-Privacy/
    Next, I am following https://docs.pantheon.pegasys.tech/en/stable/Privacy/Tutorials/eeajs-Multinode-example/
    I cloned the repo, configured the key.js file and tried to run node deployContract.js in the example/multiNodeExample.

    The script gives me the following output: {"jsonrpc":"2.0","id":1,"error":{"code":-32601,"message":"Method not found"}}

    I had been able to narrow it down to the call of priv_getTransactionCount. This is the rpc call which fails and gives me the given error message. The docs contains the following info for priv methods:

    The PRIV API methods are not enabled by default for JSON-RPC. Use the --rpc-http-api or --rpc-ws-api options to enable the PRIV API methods.

    I tried to add priv to the --rpc-http-api option, but Pantheon does not like that :)
    What am I doing wrong?

    Lucas Saldanha
    @lucassaldanha
    @jacekv can you share how you are starting up your Pantheon node (either the command line or the config file)?
    jacekv
    @jacekv
    Sure @lucassaldanha , this is how I start the first pantheon node, which is also the bootnode:
    ~/pantheon-1.2.0-RC1/bin/pantheon --data-path=data --genesis-file=../genesis.json --rpc-http-enabled --rpc-http-api=ETH,NET,IBFT,EEA --host-whitelist="*" --rpc-http-cors-origins="all" --privacy-enabled --privacy-url=http://127.0.0.1:8888 --privacy-public-key-file=Orion/nodeKey.pub --min-gas-price=0
    MadelineMurray
    @MadelineMurray
    @jacekv -> upgrading to the 1.2 release (it looks like you're using the pre-release cut version currently) and adding PRIV here should fix it --rpc-http-api=ETH,NET,IBFT,EEA,PRIV
    jacekv
    @jacekv
    This is what I get for pantheon -V -> pantheon/v1.2.0-RC1/linux-x86_64/oracle-java-12
    @lucassaldanha Isn't this the newest release?
    MadelineMurray
    @MadelineMurray
    @jacekv pantheon/v1.2.0/osx-x86_64/oracle_openjdk-java-12 is the latest one.
    jacekv
    @jacekv
    Alright, I will give it a try :) Thx so far
    jacekv
    @jacekv
    It seems to have worked :) Thanks
    MadelineMurray
    @MadelineMurray
    @jacekv -> great. Let us know if you've got other questions.
    jacekv
    @jacekv

    Hi guys :)
    I am having a new question for you :D
    I am currently trying to understand the process of how private transactions are processed. I followed the description here:
    https://docs.pantheon.pegasys.tech/en/stable/Privacy/Explanation/Private-Transaction-Processing/

    Here are the first 3 steps, where questions popped up :)

    1) Pantheon receives a private transaction and forwards it to Orion
    2) Orion encrypts (what exactly is encrypted?), distributes it to other Orion nodes and stores the private transaction
    3) Pantheon receives the tx hash and creates a Privacy Marker Transaction (PMTx)
    a) The PMTx is send to address 126 (default) (I can be changed with the privacy pre-compiled contract option right?)
    b) Who is signing the PMTx?

    jacekv
    @jacekv
    I think I just found an answer to the question 3b) Who is signing the PMTx. If I just saw it correctly, the node uses its key to sign the tx. This would make it function as a sort of relay node. In case a private network is used where transactions are not free! the node has to pay for each PMTx. Am I right?
    Antony Denyer
    @antonydenyer
    There's no fee for processing private transactions.
    Nicolas MASSART
    @NicolasMassart
    @jacekv the private key is indeed the one from Pantheon node, you can see an example of the full process in this sample script https://github.com/PegaSysEng/web3js-eea/blob/master/example/multiNodeExample/storeValueFromNode1.js
    jacekv
    @jacekv
    @NicolasMassart Do I see it correct, that a transaction is created but not signed? Rather it is sent to the node, which signs the transaction then?
    @antonydenyer Why not? What if I create a network where each transaction costs? The private transactions are free, but the Privacy Marker Transaction shouldn't
    Nicolas MASSART
    @NicolasMassart
    @jacekv it's signed when you call the library sendRawTransaction function https://github.com/PegaSysEng/web3js-eea/blob/0c4469935f930b2f8ccb8a2879809502cdc083e5/src/index.js#L255
    Antony Denyer
    @antonydenyer
    @jacekv I think defiend pre-compiles are fixed price. I'm not sure what the exact situation is with gas on bespoke pre-compiles. Been trying to find the EIP about it but the best I can find is ethereum/EIPs#1352
    I believe, on a public network, you would need to pay for the marker transactions input but that is all.
    Antony Denyer
    @antonydenyer
    ^I need to double check this
    Antony Denyer
    @antonydenyer
    @jacekv I stand corrected. The gas price for a private marker transaction is 23992 (I thought it would be 22000)
    jacekv
    @jacekv
    @antonydenyer Good :D So I understood it so far :P

    @NicolasMassart I would like to distinguish here a bit because I feel that it is getting confusing if you don't mind.
    If a user sends a transaction using web3.eea.sendRawTransaction it gets signed. It should get signed with the user's key and not the node's key, correct?

    Pantheon receives the transaction, sends it to Orion and receives a tx hash. It creates then a Private Marker Transaction, which is signed using the node's key.

    Is that correct so far? Anything else wouldn't make sense to me.

    Antony Denyer
    @antonydenyer
    When you sign the transaction yourself it gets signed with the node key
    jacekv
    @jacekv
    What if I would like to use MetaMask + Private Networks? I, as a user, would sign the tx with the private key from Meta Mask and send the transaction to a node, in this case, Pantheon.
    Antony Denyer
    @antonydenyer
    yeah we're working on delegated signing for private transactions with https://docs.ethsigner.pegasys.tech/en/latest/
    Then we'd need to extend ethsigner it to support metamask. TBH the target audience for this stuff has been enterprise consortiums so the focus has been things they're comfortable with ie hashicorp vault etc
    jacekv
    @jacekv

    I know that you guys are focusing enterprise consortiums :) I am one of them who would like to use your product in order to realize enterprise projects. That's why I am having a deep look into that.

    You are saying that each transaction, which is send using web3.eea.sendRawTransaction, has to be signed by the node's key.

    Let's take the following scenario into consideration:
    I have 3 users who are going to use this feature. They are all from the same company. Currently, it means that either
    1) each of them has their own Pantheon Node and a separate private key or
    2) we use one Pantheon Node and the key is shared with those users.

    I am right?

    Antony Denyer
    @antonydenyer
    Correct - the assumption (for us and quorum) is that node == consortium member and permissions /privacy etc is on a per-member basis.
    If you need to ensure privacy between 3 users at the same company you should have a separate node for each one.
    That being said if you are okay with each member having access to that data but want to separate it some other way I would take a look at privacy groups which came out in 1.2 (https://docs.pantheon.pegasys.tech/en/stable/Privacy/Explanation/Privacy-Groups/)
    jacekv
    @jacekv
    @antonydenyer May I ask why you made this design choice?
    Why not allow each user to sign a tx with their own key and the private marker tx with the node's key?
    Antony Denyer
    @antonydenyer
    We wanted to be EEA compliant, which meant staying fairly close to Quorum.
    jacekv
    @jacekv
    Understood :) Thanks @antonydenyer for taking the time and explaining it to me :)
    Antony Denyer
    @antonydenyer
    Also the eth_senRaw* endpoints you sign with the node key - trying to make it easy/similar to mainnet
    jacekv
    @jacekv
    I just had a look into the ETHSigner project. In case we would use Azure Vault Key, is there a way to give each user its own key which can be used?
    Antony Denyer
    @antonydenyer
    it seems like a reasonable thing to expect, but I don't know.
    tmohay
    @rain-on
    Hi @jacekv at the moment EthSigner only supports a single key which must be specified at startup - you're not the first to ask for "multi-key" support, and its in the pipeline, but at the moment, not sure when it might become available.
    Felipe Faraggi
    @faraggi

    Hello PegaSys/Orion community! In the spirit of improving the way we communicate and the information you receive, we've put together a short survey to gather your feedback. All answers are optional, and we'd love to hear what you have to say!

    The survey is centered on Pantheon but we'd appreciate all your responses as well.
    https://forms.gle/4Jddy7bSPFa9a2zz6