Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Ankit Chowdhury
    @ab-chowdhury

    As per documentation of ethsigner: "https://docs.ethsigner.pegasys.tech/en/latest/Using-EthSigner/Using-EthSigner/"

    EthSigner provides transaction signing and access to your keystore by implementing the following JSON-RPC methods:
    eth_accounts
    eth_sendTransaction

    As eth_sendTransaction is used only for signing and sending public transactions.
    But for signing and sending private transactions from the console we need an endpoint as like as eea_sendTransaction. So that we can add fields like privateFor, privateFrom, Restriction while sending the transactions with fields: from,to,value nonce,gas.

    Is eea_sendTransaction endpoint in your development stage?

    Ivaylo Kirilov
    @iikirilov
    Hey, forgive me noob question but is the server started asychrnously?
    tmohay
    @rain-on
    @iikirilov not sure I understand the question - EthSigner is a separate application which runs "in front" of Pantheon, forwards most requests (unchanged) to Pantheon, but converts "ethSendTransaction" and "eeaSendTransaction" into their signed, raw counterparts, before forwarding them to Pantheon.
    The Http server in EthSigner handles each request to a separate thread, so there shouldn't be too much overhead...
    Ivaylo Kirilov
    @iikirilov
    @rain-on I understand this. What you are describing when you start EthSigner as a process via the command line. For some context I am currently embedding this in Pantheon as part of the private transaction work. See https://github.com/iikirilov/pantheon/blob/ethsigner/ethsigner/src/integration-test/java/tech/pegasys/pantheon/ethsigner/EthSignerClientTest.java
    Basically I need to spin up EthSigner instances as part of integration/acceptance tests. So I have written https://github.com/iikirilov/pantheon/blob/ethsigner/testutil/src/main/java/tech/pegasys/ethsigner/testutil/EthSignerTestHarnessFactory.java
    Ivaylo Kirilov
    @iikirilov
    final tech.pegasys.ethsigner.core.EthSigner ethSigner =
            new tech.pegasys.ethsigner.core.EthSigner(config, new RunnerBuilder());
        ethSigner.run();
    My issue is in this code. Because it is async you can see that I am waiting few seconds for the vertx server to start, otherwise EthSinger will not be ready before the tests are run.
    tmohay
    @rain-on
    @iikirilov EthSIgner recently underwent some heart surgery such that it can support signing transactions using keys from Hashicorp Vault - this has changed where/how Vertx is initialised ... this might make things easier .... or harder. We are probably going to do more work in this area over the next week to make a "nicer" API ... so watch this space?
    CJ Hare
    @CjHare
    @ab-chowdhury the eea_sendTransaction is under active development and should be in and documented within a week or two.
    Ankit Chowdhury
    @ab-chowdhury
    @CjHare Thanx for the quick reply. I will wait for your next release which will include eeaSendTransaction as well as the updated documentation.
    CJ Hare
    @CjHare

    @iikirilov A new endpoint has just been added to EthSigner that should help in your IT/AT.
    It's a simple up check with the path of /upcheck from the context root e.g. http://localhost:8545/upcheck

    Usage in the EthSigner Acceptance Test DSL: https://github.com/PegaSysEng/ethsigner/blob/2fdbfe96765909919dc4686f498fbbf454db848f/acceptance-tests/src/test/java/tech/pegasys/ethsigner/tests/dsl/signer/Signer.java#L114

    Ivaylo Kirilov
    @iikirilov
    awesome - I am putting my work in the backlog until a release is made. Glad to see progress is being made though. Keep it up!
    Ankit Chowdhury
    @ab-chowdhury
    @CjHare Can you please elaborate about the endpoint upcheck which will be added in EthSigner. Is it for acceptance test? If it is so then what will be the expected output? Which port will be used "e.g. http://localhost:8545/upcheck". Is it the rpc-http-port or some other port?
    Ivaylo Kirilov
    @iikirilov
    @ab-chowdhury yes that is the idea. The port depends on how you start EthSigner. The default port is 8545. The response will be either 200 or 404.
    Ankit Chowdhury
    @ab-chowdhury
    @iikirilov Thanks for your answer, But as there are some ports ie --rpc-http-port, --rpc-ws-port, --p2p-port in pantheon and --http-listen-port in ethsigner.
    The default port ie 8545 as you are saying is which port, Is it --rpc-http-port ?
    There's one more question in my mind: As --rpc-http-port of pantheon is same as --downstream-http-port of ethsigner. What about --http-listen-port in ethsigner? What is its significance?
    Ivaylo Kirilov
    @iikirilov
    This is not related to pantheon. It is the --http-listen-port on ethsigner which by default is 8545. This is the port that ethsigner is listening on for incoming request. The --downstream-http-port is the port that pantheon is listening on for incoming requests.
    Ankit Chowdhury
    @ab-chowdhury
    @iikirilov Thanks for the clarification
    CJ Hare
    @CjHare

    @ab-chowdhury @iikirilov is spot on.

    The launch parameter --http-listen-port is the port that EthSigner exposes it's endpoints on, with the Ethererum JSON-RPC at the context root http://localhost:8545/ and UpCheck at http://localhost:8545 (assuming EthSigner is listening on port 8545 on host localhost).

    Ankit Chowdhury
    @ab-chowdhury
    @CjHare Thanks for this detailed clarification.
    Ankit Chowdhury
    @ab-chowdhury

    Hey Everyone,

    While running ethsigner v0.2.0 using the following command

    ethsigner --chain-id=88872 --downstream-http-host=0.0.0.0 --downstream-http-port=10300 --http-listen-host=0.0.0.0 --http-listen-port=10303 --key-file=/home/node/keystore/keyfile --password-file=password.txt >>logs/EthsignerLogs/ethsigner.log &

    It is showing the following error -

    Unknown options: --key-file=/home/node/keystore/keyfile, --password-file=password.txt

    Is there any change in it? Because in previous version I was using these options and was running fine.
    If there's any change please tell me the alternative for it.

    Thanks in advance

    Ivaylo Kirilov
    @iikirilov
    ethsigner --chain-id=2018 --downstream-http-port=8590 file-based-signer --key-file=/mydirectory/keyFile --password-file=/mydirectory/passwordFile
    @ab-chowdhury you are missing the file-based-signer command
    Ankit Chowdhury
    @ab-chowdhury
    @iikirilov Thanks for pointing out my mistake.
    Alexander C.
    @ice09
    Hi there, nice extension! Came here from https://pegasys.tech/protecting-your-ethereum-private-key-with-ethsigner/ and would like to add (and it was mentioned in reddit already), that you are obviously missing the MetaMask option which really everybody uses and nobody uses Option 1 anymore. I know you are targetting the enterprise space, but ignoring MetaMask (or MEW btw) is just talking about cars without giving any attention to streets.
    Felipe Faraggi
    @faraggi

    Hi @ice09, and thanks for the comment and suggestion!
    I hadn't seen the reddit comment yet, I assume you refer to this: https://www.reddit.com/r/ethereum/comments/cqcuou/protecting_your_ethereum_private_key_with/

    To address both questions: The main reason we built ethsigner is to separate our key store management from the node client running the network and validating transactions. Nodes have to sign using their keys for validating those transactions and we find it essential (security-wise to separate it from the actual client).
    So it really has little to do with metamask in how a user would interact with the network.

    Felipe Faraggi
    @faraggi
    tell me if that's clear, if not, I'll be happy to dive deeper.
    Antony Denyer
    @antonydenyer
    "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?" - asked in https://gitter.im/PegaSysEng/orion
    jacekv
    @jacekv
    @antonydenyer thanks for forwarding my question
    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.
    jacekv
    @jacekv
    @rain-on Alright, I see. Does Azure key vault allow multi key support? Do you know that?
    tmohay
    @rain-on
    @jacekv Its been a while since I looked at this, but I had thought that an Azure KeyVault can contain many keys - however authentication/identity is managed at the vault level ... meaning if you have the id/secret required to login, you can access all keys in said vault
    jacekv
    @jacekv
    Ouu I see. Alright, thanks so far :)
    Felipe Faraggi
    @faraggi

    Hello PegaSys/EthSigner 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