Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    kambit
    @kambit

    @Shirikatsu Hi, I get an error when I invoke SubmitBlock. After invoking SubmitBlock method, and checking the transaction receipt, the status is "0x0". which means some error in this transaction.
    parameters for SubmitBlock are:
    _chainId: chainB id(the same as the RegisterChain parameter _chainId)
    _rlpUnsignedBlockHeader: ion_cli get UnsignedBlockHeader
    _rlpSignedBlockHeader: ion_cli get SignedBlockHeader
    _storageAddr: storage contract address by deploy EthereumStore.sol

    UnsignedBlockHeader is: f9021aa013fe15da35b4bc5851e4d7b475fbb2b10b8d8ab3e7a8accda80441204c53364ea01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940000000000000000000000000000000000000000a01d2ca9d1c74019628bf4ad0d3433fe4dc2f14e14cd69564c4199e36a9ade8738a044a8280c9ccaacf600861694803b08f21907e838b42b3aab5d7ebb7b05cbd2aaa0a5fd92b082d95adc7f20f3958848bc41b6fd1c2620dce23d903119392d67aff1b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000080000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000260874637ed0c01b1c18257bd845d42fbe6a0d883010814846765746888676f312e31302e34856c696e757800000000000000a00000000000000000000000000000000000000000000000000000000000000000880000000000000000
    SignedBlockHeader is:
    f9025ca013fe15da35b4bc5851e4d7b475fbb2b10b8d8ab3e7a8accda80441204c53364ea01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940000000000000000000000000000000000000000a01d2ca9d1c74019628bf4ad0d3433fe4dc2f14e14cd69564c4199e36a9ade8738a044a8280c9ccaacf600861694803b08f21907e838b42b3aab5d7ebb7b05cbd2aaa0a5fd92b082d95adc7f20f3958848bc41b6fd1c2620dce23d903119392d67aff1b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000080000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000260874637ed0c01b1c18257bd845d42fbe6b861d883010814846765746888676f312e31302e34856c696e75780000000000000049789c5898f556b6496ecccb92a8cd49518117d31a11ce4e5d102ed6959814090f72d312b76d6eb11f62489de7505ecaa7a794a77cb5de6c2752764f2910d99a01a00000000000000000000000000000000000000000000000000000000000000000880000000000000000

    Can you help check what I do is wrong? Thanks!

    Shirikatsu
    @Shirikatsu
    @kambit Hey. What were your previous steps prior to this? Which validation contract are you verifying your blocks with? Prior to block submission make sure that you have registered the validation contract against your Ion.sol contract, registered the chain with your chosen genesis and then submit the block.
    kambit
    @kambit
    @Shirikatsu Hi, This is my full steps up to submitBlock:

    chainB Id: 0x2eb66993ca9529fde635eef4fcc251573a604f0fc84f25db5c7e139a3d192bde

    hash of genesis block(invoke fire from Trigger transaction block hash): 0x61b141b2b3cea3660b04ddf5073001238e72d0650cad917428643ac5c9f7a8a1

    connect with geth

    connectToClient http://127.0.0.1:8545

    Add an account

    addAccount me /home/ubuntu/data0/keystore/UTC--2019-07-26T05-47-16.454289425Z--4a971347a403961837978090998a97e4bd4c63e4

    add Trigger contract

    addContractInstance Trigger /home/ubuntu/Go/src/github.com/clearmatics/ion/contracts/functional/Trigger.sol

    deploy

    deployContract Trigger me 1000000
    ==> deploy contrct address: 0x9Cbf0E03E44Bb2C670AbfD38cCBb47169362dB15

    transactionMessage

    transactionMessage Trigger fire me 0x9Cbf0E03E44Bb2C670AbfD38cCBb47169362dB15 0 1000000
    ==> transaction hash: 0xcb50d1c2c49883eeac174b17cd5e2cc713b4f21836fecea02b0bd39cc03da8a6
    ==> block number: 513
    ==> block hash:0x61b141b2b3cea3660b04ddf5073001238e72d0650cad917428643ac5c9f7a8a1

    get RLP-encoded

    getBlockByNumber_Clique http://127.0.0.1:8545 513
    ==>
    Signed Block:
    f9025ea061b141b2b3cea3660b04ddf5073001238e72d0650cad917428643ac5c9f7a8a1a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940000000000000000000000000000000000000000a0e612e3ec95d235d35f4265c939f2a3fc42de4e96745c261cd1455ad03c94e004a0906c79301ba3a38c534ac66fdade97388171aa8c85a688b005d78ae6f39dbee2a08cd11238516edba8a0ea40bd10bce64742113a4a715d3b6d1d4119617ca5f94fb90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000800000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000080008000000000000282020187697e0f3bf13b658257bd845d440a6ab861d883010814846765746888676f312e31302e34856c696e757800000000000000a042445ae83b5d6d22deb53de690cf256b07b2c7efb5f50875465f744e8ae6f041564c96333123a4fefa308cda05e4aaaafb5066401c65ba6dbc247a7fdb179b00a00000000000000000000000000000000000000000000000000000000000000000880000000000000000
    Unsigned Block:
    f9021ca061b141b2b3cea3660b04ddf5073001238e72d0650cad917428643ac5c9f7a8a1a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940000000000000000000000000000000000000000a0e612e3ec95d235d35f4265c939f2a3fc42de4e96745c261cd1455ad03c94e004a0906c79301ba3a38c534ac66fdade97388171aa8c85a688b005d78ae6f39dbee2a08cd11238516edba8a0ea40bd10bce64742113a4a715d3b6d1d4119617ca5f94fb90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000800000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000080008000000000000282020187697e0f3bf13b658257bd845d440a6aa0d883010814846765746888676f312e31302e34856c696e757800000000000000a00000000000000000000000000000000000000000000000000000000000000000880000000000000000

    connect with geth

    connectToClient http://127.0.0.1:8545

    Add an account

    addAccount me /home/ubuntu/data0/keystore/UTC--2019-07-26T05-47-16.454289425Z--4a971347a403961837978090998a97e4bd4c63e4

    add ion contract

    addContractInstance ion /home/ubuntu/Go/src/github.com/clearmatics/ion/contracts/Ion.sol

    deploy ion

    deployContract ion me 1000000
    ChianA id: 0xaf32c716536cdc65de1f95a7987347b37705559d13c665bf292631a6db394f6d
    ==> Ion contract address: 0x2b7Bf752Ba104aBf02f1e49948c70Be6713faBDB

    add ethstore contract

    addContractInstance ethstore /home/ubuntu/Go/src/github.com/clearmatics/ion/contracts/storage/EthereumStore.sol

    deploy ethstore

    deployContract ethstore me 100000000
    Ion contract address

    deploy ethstore

    deployContract ethstore me 100000000
    Ion contract address: 0x2b7Bf752Ba104aBf02f1e49948c70Be6713faBDB
    ==> ethstore contract address: 0xd93c9Ffddf60bE7ccef688dd913211894dBbcd25

    add clique contract

    addContractInstance clique /home/ubuntu/Go/src/github.com/clearmatics/ion/contracts/validation/Clique.sol

    deploy clique

    deployContract clique me 7581563
    Ion contract address: 0x2b7Bf752Ba104aBf02f1e49948c70Be6713faBDB
    ==> clique contract address: 0xC9A36533ef62b9F1a9daAA2e1A0eB5E028140Fe2

    call register function

    transactionMessage clique register me 0xC9A36533ef62b9F1a9daAA2e1A0eB5E028140Fe2 0 7581563
    ==> transaction hash: 0x7969a7584d74af12a871911b26c65a3e4403bf3a5e2a06aaa0e61e9903fdc323

    call

    transactionMessage clique RegisterChain me 0xC9A36533ef62b9F1a9daAA2e1A0eB5E028140Fe2 0 7581563
    ChainB id: 0x2eb66993ca9529fde635eef4fcc251573a604f0fc84f25db5c7e139a3d192bde
    _validators address: 0xC9A36533ef62b9F1a9daAA2e1A0eB5E028140Fe2
    ChainB _genesisBlockHash: 0x61b141b2b3cea3660b04ddf5073001238e72d0650cad917428643ac5c9f7a8a1
    _storeAddr: 0xd93c9Ffddf60bE7ccef688dd913211894dBbcd25
    ==> transaction hash: 0x2c9c598d2ec54a43e718e3209c087ac9a98a40a6ff6378df47f46313f000bbcb

    #####################SETUO FINISH

    connect with geth

    connectToClient http://127.0.0.1:8545

    Add an account

    addAccount me /home/ubuntu/data0/keystore/UTC--2019-07-26T05-47-16.454289425Z--4a971347a403961837978090998a97e4bd4c63e4

    add clique contract

    addContractInstance clique /home/ubuntu/Go/src/github.com/clearmatics/ion/contracts/validation/Clique.sol

    submit block

    transactionMessage clique SubmitBlock me 0xC9A36533ef62b9F1a9daAA2e1A0eB5E028140Fe2 0 7581563
    ChainB id: 0x2eb66993ca9529fde635eef4fcc251573a604f0fc84f25db5c7e139a3d192bde
    _rlpUnSingedBlockHeader: 0xf9021ca061b141b2b3cea3660b04ddf5073001238e72d0650cad917428643ac5c9f7a8a1a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940000000000000000000000000000000000000000a0e612e3ec95d235d35f4265c939f2a3fc42de4e96745c261cd1455ad03c94e004a0906c79301ba3a38c534ac66fdade97388171aa8c85a688b005d78ae6f39dbee2a08cd11238516edba8a0ea40bd10bce64742113a4a715d3b6d1d4119617ca5f94fb90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000800000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000080008000000000000282020187697e0f3bf13b658257bd845d440a6aa0d883010814846765746888676f312e31302e34856c696e757800000000000000a00000000000000000000000000000000000000000000000000000000000000000880000000000000000
    _rlpSignedBlockHeader: 0 0xf9025ea061b141b2b3cea3660b04ddf5073001238e72d0650cad917428643ac5c9f7a8a1a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940000000000000000000000000000000000000000a0e612e3ec95d235d35f4265c939f2a3fc42de4e96745c261cd1455ad03c94e004a0906c79301ba3a38c534ac66fdade97388171aa8c85a688b005d78ae6f39dbee2a08cd11238516edba8a0ea40bd10bce64742113a4a715d3b6d1d4119617ca5f94fb90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000800000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000080008000000000000282020187697e0f3bf13b658257bd845d440a6ab861d883010814846765746888676f312e31302e34856c696e757800000000000000a042445ae83b5d6d22deb53de690cf256b07b2c7efb5f50875465f744e8ae6f041564c96333123a4fefa308cda05e4aaaafb5066401c65ba6dbc247a7fdb179b00a000000000000000000000000000000000000

    _storageAddr: 0xd93c9Ffddf60bE7ccef688dd913211894dBbcd25
    ==> transaction hash: 0x4e9a3705637d3b22175c0f476348c6df354ea4eb29b48c0f70fe383df6884fee
    @Shirikatsu If you have time, please help check my steps. Thank you very much!
    kambit
    @kambit
    I check the error is from require( checkSignature(_chainId, signedHeader[12].toBytes(), _rlpUnsignedBlockHeader, parentBlockHash), "Signer is not validator" ); in SubmitBlock method. In the checkSignature method, extraDataSig is 0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000. I donot know why extraDataSig is abnormal.
    Shirikatsu
    @Shirikatsu
    @kambit Hi kambit. Thanks for pasting this.

    So your steps are slightly jumbled here. Registering a chain requires you to provide a genesis block. What this does is then gives you a base from which you will start submitting consequent blocks by referencing the previous one. This is how the submission of blocks works to ensure that you are submitting something correct (by checking against the previous known block for validator sets and the valid signature(s) against the block being submitted).

    In this case you've registered the chain by using block 513 as the genesis but also attempting to submit the same block 513. If you submit block 513 as your genesis, you will need to submit block 514 onwards. Thus in your case, if you want to use block 513 (which contains your transaction with the transaction you want to prove and use for interoperation) you must register block 512 as your genesis with RegisterChain, then submit block 513 with SubmitBlock.

    kambit
    @kambit
    @Shirikatsu Thank you for your explanation! I will try again. Thank you very much!!!
    Coenie Beyers
    @coeniebeyers
    Hi, are you using the tendermint implementation from https://docs.tendermint.com/master/introduction/what-is-tendermint.html ?
    Shirikatsu
    @Shirikatsu
    @coeniebeyers Hi Coenie, we'll be using a slightly different version of Tendermint implemented in the Autonity client.
    The block validation mechanisms remain the same, but some of the validator rotating and economic mechanisms have not yet been completed.
    Coenie Beyers
    @coeniebeyers
    hi @Shirikatsu! Thanks :)
    Do you have some documentation specific to your implementation that you could share with me?
    Shirikatsu
    @Shirikatsu
    Hey @coeniebeyers
    So implementation docs don't yet exist as we're still in the midst of completing and hardening the implementation. We are trying to follow the Tendermint specification written by the Tendermint guys though. By the time we finish the implementation we should have documents out detailing it and outlining any deltas between our implementation vs Cosmos Tendermint.
    Although the source code at the moment is probably your best source of documentation https://github.com/clearmatics/autonity/tree/master/consensus/tendermint :D
    Out of curiosity, what interests you? :D
    Coenie Beyers
    @coeniebeyers
    okay awesome, thanks!
    I'm trying to do a deeper dive into the differences between IBFT2 and Tendermint used by you guys, but needed to first make sure which implementation you are using :)
    Coenie Beyers
    @coeniebeyers
    @Shirikatsu have you done tests with more than ~20 validators in a single network?
    Guillaume
    @glesaint
    Thanks for the presentation on the EEA WG
    Shirikatsu
    @Shirikatsu
    @coeniebeyers I'm sorry for missing your message! I'm not entirely sure. We have a different team working on our client and the implementation of the consensus. Try https://github.com/clearmatics/autonity/ . Sorry I haven't got any answers on that front.
    @glesaint You're welcome! Let us know if you have any issues or questions. Happy to help.
    Sara Feenan
    @saronimo
    @glesaint Would be good to hear a bit more about the use case so we can weave in practical examples to the taskforce. Would you be able to shoot me an email -> sf at clearmatics.com thanks!
    Fabian Vogelsteller
    @frozeman
    @Shirikatsu i would like to talk to you guys about some ideas for side chains using part of the work you guys did with ion.
    Lets connect here, or in telegram (same user channel)
    Zoe Nolan
    @zoenolan
    @frozeman @Shirikatsu is currently off but I'm happy to chat here or elsewhere
    Fabian Vogelsteller
    @frozeman
    Hi super
    I guess a call would be super, as its easiest to explain that writting
    Fabian Vogelsteller
    @frozeman
    its some technical questions
    Friedrich
    @maxrobot
    Hi Fabian, if you send an email to opensource@clearmatics.com then we can organise a call :)
    Fabian Vogelsteller
    @frozeman
    thx
    done