Ethermint is a scalable and interoperable Ethereum library, built on Proof-of-Stake with fast-finality using the Cosmos SDK.

Overview

Ethermint

banner

Ethermint is a scalable and interoperable Ethereum library, built on Proof-of-Stake with fast-finality using the Cosmos SDK which runs on top of Tendermint Core consensus engine.

Note: Requires Go 1.17+

Installation

For prerequisites and detailed build instructions please read the Evmos Installation instructions. Once the dependencies are installed, run:

make install

Or check out the latest release.

Quick Start

To learn how the Ethermint works from a high-level perspective, go to the Introduction section from the documentation. You can also check the instructions to Run a Node.

For an example on how Ethermint can be used on any Cosmos-SDK chain, please refer to Evmos.

Community

The following chat channels and forums are a great spot to ask questions about Ethermint:

Contributing

Looking for a good place to start contributing? Check out some good first issues.

For additional instructions, standards and style guides, please refer to the Contributing document.

Careers

See our open positions on Cosmos Jobs, Notion, or feel free to reach out via email.

Issues
  • Fix CI to run solidity tests

    Fix CI to run solidity tests

    Closes: #XXX

    Description

    This PR updates some stale code in Makefile and .github/workflows/deploy-contract.yml to make the CI works with performing solidity test on CI builds.

    Some improvements:

    1. use make test-solidity in Github Actions instead of make test-contract
    2. Remove test-contract from Makefile. Contract & Solidity tests now can be run by make test-solidity.
    3. Remove installing solcjs from Makefile. This is no longer needed. Truffle inside solidity tests will handle installation of solcjs
    4. Add verbose logs parameter on yarn test to output ethermintd activities during CI test for better debugging

    For contributor use:

    • [x] Targeted PR against correct branch (see CONTRIBUTING.md)
    • [x] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
    • [x] Code follows the module structure standards.
    • [ ] Wrote unit and integration tests
    • [ ] Updated relevant documentation (docs/) or specification (x/<module>/spec/)
    • [ ] Added relevant godoc comments.
    • [ ] Added a relevant changelog entry to the Unreleased section in CHANGELOG.md
    • [ ] Re-reviewed Files changed in the Github PR explorer

    For admin use:

    • [ ] Added appropriate labels to PR (ex. WIP, R4R, docs, etc)
    • [ ] Reviewers assigned
    • [ ] Squashed all commits, uses message "Merge pull request #XYZ: [title]" (coding standards)
    Type: CI 
    opened by yijiasu-crypto 32
  • Problem: etherjs smartcontract cannot change state

    Problem: etherjs smartcontract cannot change state

    cannot change the state of the smart contract src: https://github.com/leejw51crypto/ethermint.git branch: etherjs folder: mytest/mytest

    how to reproduce

    env variable for testing

    MYMNEMONICS <- your mnemonics

    1. git clone https://github.com/leejw51crypto/ethermint.git
    2. cd ethermint
    3. git checkout etherjs
    4. cd mytest/mytest
    5. make
    

    when run with ganache

    BigNumber { _hex: '0x00', _isBigNumber: true }
    {
      nonce: 17,
      gasPrice: BigNumber { _hex: '0x04a817c800', _isBigNumber: true },
      gasLimit: BigNumber { _hex: '0xa2ae', _isBigNumber: true },
      to: '0x2831Fb598Fb659EC881585557C3e36414BfC32e5',
      value: BigNumber { _hex: '0x00', _isBigNumber: true },
      data: '0x6057361d0000000000000000000000000000000000000000000000000000000000000015',
      chainId: 1337,
      v: 2709,
      r: '0x14ecfc5d6e69a89278ab8e2a4334898f25e2677cc38e0bd509791b5a07bdffaf',
      s: '0x6fca8a9e61a78efe115f9983b3f1b89a79e1eca0331dd84f52a3a06d9da210fc',
      from: '0x48b212A71eBbB202F7cfD1aACee3A36FdE2Fbc51',
      hash: '0xe0e6d9b1f4802245fa8a652bcdbe02c8dbf300d15491b590ff1c8c105d10617e',
      type: null,
      wait: [Function (anonymous)]
    }
    BigNumber { _hex: '0x15', _isBigNumber: true }
    

    when run with ethermint

    BigNumber { _hex: '0x00', _isBigNumber: true }
    {
      nonce: 6,
      gasPrice: BigNumber { _hex: '0x14', _isBigNumber: true },
      gasLimit: BigNumber { _hex: '0x52d4', _isBigNumber: true },
      to: '0x5589184cE12715763c409b0e33ad6f8f075d0377',
      value: BigNumber { _hex: '0x00', _isBigNumber: true },
      data: '0x6057361d0000000000000000000000000000000000000000000000000000000000000015',
      chainId: 2,
      v: 39,
      r: '0x35db8a1ca2054e49c1d913ac3566f654a2c47072b71592926141af57afb93fed',
      s: '0x0ff0108bc624f304d329d78e6bb43c7da1ff60f436ae3626b47b7c33a24de54d',
      from: '0x48b212A71eBbB202F7cfD1aACee3A36FdE2Fbc51',
      hash: '0xac7a4efd5df15dd6b798b4f58bdc7f66e3e54eaf17f624e0525c539de57b14db',
      type: null,
      wait: [Function (anonymous)]
    }
    BigNumber { _hex: '0x00', _isBigNumber: true }
    
    Type: Bug 
    opened by leejw51crypto 17
  • state sync don't fully work

    state sync don't fully work

    System info: ethermint main branch

    Steps to reproduce:

    1. start devnet
    2. start new node with state sync enabled
    3. query new node for the tx and states

    Expected behavior: tx query succesfully

    Actual behavior: tx not found

    Additional info:

    • chain state works fine though, for example, query contract state with eth_call works.
    Status: Stale 
    opened by yihuang 16
  • CreationCode makes ethermintd exploded

    CreationCode makes ethermintd exploded

    System info:

    Max OS X
    Main (d7c9656d7704e77ed0f71ea45755cadc25dbd979)
    

    Steps to reproduce:

    1. Deploy CreationCode with the code below, using remix or any tool you like (https://gist.github.com/FrancoCRO/b198c1dc6d63626e92cd00f7fedd9406)
    2. Call CODE_HASH

    Expected behavior: Returns code hash

    Actual behavior: Ethermintd becomes unresponsive, and is crazy printing EVM stack logs for minutes, and you have to SIGKILL it

    Additional info: This CreationCode method is used by Uniswap-family swaps The PancakePair contract code is obtained from here (https://bscscan.com/address/0x0eD7e52944161450477ee417DE9Cd3a859b14fD0#code) And is called from here (https://bscscan.com/address/0xcA143Ce32Fe78f1f7019d7d551a6402fC5350c73#code)

    Type: Bug 
    opened by FrancoCRO 14
  • do binary search to estimate gas

    do binary search to estimate gas

    Closes #268

    part of it is extracted into https://github.com/tharsis/ethermint/pull/276.

    Description


    For contributor use:

    • [x] Targeted PR against correct branch (see CONTRIBUTING.md)
    • [x] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
    • [x] Code follows the module structure standards.
    • [ ] Wrote unit and integration tests
    • [ ] Updated relevant documentation (docs/) or specification (x/<module>/spec/)
    • [ ] Added relevant godoc comments.
    • [ ] Added a relevant changelog entry to the Unreleased section in CHANGELOG.md
    • [ ] Re-reviewed Files changed in the Github PR explorer

    For admin use:

    • [ ] Added appropriate labels to PR (ex. WIP, R4R, docs, etc)
    • [ ] Reviewers assigned
    • [ ] Squashed all commits, uses message "Merge pull request #XYZ: [title]" (coding standards)
    opened by yihuang 14
  • Problem: contract call which does lots of message calls is slow to execute

    Problem: contract call which does lots of message calls is slow to execute

    This PR is huge, added some guide for review in the comment section below.

    Description

    Closes: #710

    As profiled in the issue page, the bottleneck is the slowness of deep context stack, there's no easy way around it other than refactor the StateDB to use journal logs like what go-ethereum does, thus this big code refactoring.

    What this PR does

    • Implement a standalone statedb module in x/evm/statedb which implements vm.StateDB interface with the support of several keeper methods, the keeper interface is captured in statedb.Keeper.
    • The StateDB implementation keep all the dirty states in memory, at the end of tx execution, commit all the dirty changes to keeper at once
    • record all the modify operations in a list of journal logs, snapshot revert is done by undo part of the logs.
    • x/evm/statedb/{journal.go, access_list.go, state_object.go} are directly adapted from go-ethereum itself.

    Benchmark result

    BenchmarkMessageCall (improved 310X)

    Before

    BenchmarkMessageCall-16    	       1	25846269634 ns/op
    BenchmarkMessageCall-16    	       1	26773165908 ns/op
    BenchmarkMessageCall-16    	       1	25786298762 ns/op
    

    After

    BenchmarkMessageCall-16    	      12	  91367037 ns/op
    BenchmarkMessageCall-16    	      13	  82284757 ns/op
    BenchmarkMessageCall-16    	      14	  83061467 ns/op
    

    BenchmarkEmitLogs (improved 2.5X)

    Before

    BenchmarkEmitLogs-16    	      98	  12034965 ns/op
    BenchmarkEmitLogs-16    	      98	  12146658 ns/op
    BenchmarkEmitLogs-16    	      96	  12313053 ns/op
    

    After

    BenchmarkEmitLogs-16    	     225	   5288751 ns/op
    BenchmarkEmitLogs-16    	     232	   5189175 ns/op
    BenchmarkEmitLogs-16    	     222	   5191943 ns/op
    

    For contributor use:

    • [ ] Targeted PR against correct branch (see CONTRIBUTING.md)
    • [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
    • [ ] Code follows the module structure standards.
    • [ ] Wrote unit and integration tests
    • [ ] Updated relevant documentation (docs/) or specification (x/<module>/spec/)
    • [ ] Added relevant godoc comments.
    • [ ] Added a relevant changelog entry to the Unreleased section in CHANGELOG.md
    • [ ] Re-reviewed Files changed in the Github PR explorer

    For admin use:

    • [ ] Added appropriate labels to PR (ex. WIP, R4R, docs, etc)
    • [ ] Reviewers assigned
    • [ ] Squashed all commits, uses message "Merge pull request #XYZ: [title]" (coding standards)
    opened by yihuang 13
  • Geth v1.10.9 JSON-RPC endpoints

    Geth v1.10.9 JSON-RPC endpoints

    Some RPC endpoints that need to be added/revised after merging #231:

    • eth_resend
    • eth_fillTransaction
    • eth_feeHistory
    • eth_maxPriorityFeePerGas
    • personal_sendTransaction: updates
    • debug_intermediateRoots
    • personal_unpair
    • personal_initializeWallet
    • personal_listWallets
    help wanted Status: Stale C:JSON-RPC 
    opened by fedekunze 13
  • fix: issue #310

    fix: issue #310

    Closes: #310

    Description

    • fix make target build-docker-local-ethermint
    • fix make target localnet-start
      • add ip-addresses for localnet-setup generation
      • add localnet-setup folder to keep localnet-setup-artifacts
      • map localnet-setup-artifacts to containers
      • change start-docker.sh to pick up generated localnet-setup-artifacts

    For contributor use:

    • [ ] Targeted PR against correct branch (see CONTRIBUTING.md)
    • [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
    • [ ] Code follows the module structure standards.
    • [ ] Wrote unit and integration tests
    • [ ] Updated relevant documentation (docs/) or specification (x/<module>/spec/)
    • [ ] Added relevant godoc comments.
    • [ ] Added a relevant changelog entry to the Unreleased section in CHANGELOG.md
    • [ ] Re-reviewed Files changed in the Github PR explorer

    For admin use:

    • [ ] Added appropriate labels to PR (ex. WIP, R4R, docs, etc)
    • [ ] Reviewers assigned
    • [ ] Squashed all commits, uses message "Merge pull request #XYZ: [title]" (coding standards)
    automerge 
    opened by simonpfeifhofer 12
  • Problem: EVM keeper keeps intermediate states inside

    Problem: EVM keeper keeps intermediate states inside

    Closes: #664

    Description

    • Migrate the StateDB methods to keeper style, aka. passing sdk.Context explicitly, returns error when needed. see StateDBKeeper
    • Create another StateDB struct to handle ctxStack and stateErr and implements Snapshot/RevertSnapshot/GetCommittedState, delegate all the other StateDB methods to the keeper.
    • ApplyMessage create StateDB struct on the fly, either commit or discard it before return.

    For contributor use:

    • [x] Targeted PR against correct branch (see CONTRIBUTING.md)
    • [x] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
    • [x] Code follows the module structure standards.
    • [ ] Wrote unit and integration tests
    • [ ] Updated relevant documentation (docs/) or specification (x/<module>/spec/)
    • [ ] Added relevant godoc comments.
    • [ ] Added a relevant changelog entry to the Unreleased section in CHANGELOG.md
    • [ ] Re-reviewed Files changed in the Github PR explorer

    For admin use:

    • [ ] Added appropriate labels to PR (ex. WIP, R4R, docs, etc)
    • [ ] Reviewers assigned
    • [ ] Squashed all commits, uses message "Merge pull request #XYZ: [title]" (coding standards)
    opened by yihuang 11
  • Fix GasMeter reset in AnteHandler - EthGasConsumeDecorator

    Fix GasMeter reset in AnteHandler - EthGasConsumeDecorator

    Conforming to the spec: https://github.com/cosmos/cosmos-sdk/blob/e7066c4271ff3d33dc426dc6313c82a1201ae3c6/docs/basics/gas-fees.md#antehandler

    AnteHandler Set newCtx.GasMeter to 0, with a limit of GasWanted. This step is extremely important, as it not only makes sure the transaction cannot consume infinite gas, but also that ctx.GasMeter is reset in-between each DeliverTx (ctx is set to newCtx after anteHandler is run, and the anteHandler is run each time DeliverTx is called).

    Fixes https://github.com/tharsis/evmos/issues/311

    Description

    EthSetupContextDecorator ante handler initializes the gas meter as an infinite gas meter (with gas limit 0) - https://github.com/tharsis/ethermint/blob/7b22a535569f558dc9083e0833915c745c68be43/app/ante/eth.go#L463

    This gas meter needs to be reset with the correct gas limit, which accounts for all messages in the transaction. Because then, this value is used to calculate the block's consumed gas, when it is prepared. See:

    https://github.com/cosmos/cosmos-sdk/blob/2646b474c7beb0c93d4fafd395ef345f41afc251/baseapp/baseapp.go#L658-L659

    https://github.com/tendermint/tendermint/blob/abdf717761e71dca53389a9d218fce8a84f43991/internal/mempool/mempool.go#L365

    What was happening was gasWanted was always 0 (infinite gas meter has a limit of 0), so the block that was proposed would contain all the transactions from the mempool found at that time. When the block was applied, at DeliverTx time, all transactions over the block gas limit were not applied (which is correct), but they would have no way to return to the mempool, because they were already processed. Trying to get a transaction receipt for them would just fail with transaction not found.

    See these logs: https://gist.github.com/loredanacirstea/a935737b2b1cf3cbc0e679efa1787cd0#file-evmos_logs2-txt-L1464

    • We see receipts not found because the block has not been finalized yet: https://gist.github.com/loredanacirstea/a935737b2b1cf3cbc0e679efa1787cd0#file-evmos_logs2-txt-L759, which is normal.
    • Block is finalized with 50! transactions: https://gist.github.com/loredanacirstea/a935737b2b1cf3cbc0e679efa1787cd0#file-evmos_logs2-txt-L908
    • Immediately after the block is being processed and transactions applied to the state. Now we see a correct calculation of block gas, with each transaction.
    • Block gas limit is reached at https://gist.github.com/loredanacirstea/a935737b2b1cf3cbc0e679efa1787cd0#file-evmos_logs2-txt-L1197 and the rest of the transactions included in the block are not processed.
    • Receipts for the processed tx are returned https://gist.github.com/loredanacirstea/a935737b2b1cf3cbc0e679efa1787cd0#file-evmos_logs2-txt-L1245, but for the ones that are over the block gas limit (unprocessed), eth_getTransactionReceipt fails https://gist.github.com/loredanacirstea/a935737b2b1cf3cbc0e679efa1787cd0#file-evmos_logs2-txt-L1270.
    • Next block is finalized with no data: https://gist.github.com/loredanacirstea/a935737b2b1cf3cbc0e679efa1787cd0#file-evmos_logs2-txt-L1464

    For contributor use:

    • [ ] Targeted PR against correct branch (see CONTRIBUTING.md)
    • [X] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
    • [ ] Code follows the module structure standards.
    • [ ] Wrote unit and integration tests
    • [ ] Updated relevant documentation (docs/) or specification (x/<module>/spec/)
    • [ ] Added relevant godoc comments.
    • [ ] Added a relevant changelog entry to the Unreleased section in CHANGELOG.md
    • [ ] Re-reviewed Files changed in the Github PR explorer

    For admin use:

    • [ ] Added appropriate labels to PR (ex. WIP, R4R, docs, etc)
    • [ ] Reviewers assigned
    • [ ] Squashed all commits, uses message "Merge pull request #XYZ: [title]" (coding standards)
    automerge 
    opened by loredanacirstea 10
  • fix: increase nonce in ante handler for contract creation tx

    fix: increase nonce in ante handler for contract creation tx

    Closes: #808

    Description

    Solution:

    • move nonce increment to ante handler
    • revert nonce increment in apply message

    For contributor use:

    • [ ] Targeted PR against correct branch (see CONTRIBUTING.md)
    • [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
    • [ ] Code follows the module structure standards.
    • [ ] Wrote unit and integration tests
    • [ ] Updated relevant documentation (docs/) or specification (x/<module>/spec/)
    • [ ] Added relevant godoc comments.
    • [ ] Added a relevant changelog entry to the Unreleased section in CHANGELOG.md
    • [ ] Re-reviewed Files changed in the Github PR explorer

    For admin use:

    • [ ] Added appropriate labels to PR (ex. WIP, R4R, docs, etc)
    • [ ] Reviewers assigned
    • [ ] Squashed all commits, uses message "Merge pull request #XYZ: [title]" (coding standards)
    automerge 
    opened by yihuang 9
  • Geth upgrade v1.10.19

    Geth upgrade v1.10.19

    Closes: #XXX

    Description

    The following changes were identified:

    • [x] In RPC APIs where a block number can be given, you can now use "finalized" to refer to the latest finalized block. (#24282) → Update JSON-RPC
    • [x] The EVM now implements EIP-3855 (PUSH0 instruction). This feature is not yet active in any fork. (#24039) → Update EnableEIPs
    • [x] API change: debug_traceTransaction, in the default structured-logging mode, now returns the refund counter for every EVM execution step. (#24567)
    • [x] eth/tracers: refactor traceTx to separate out struct logging 24326
    • [x] MergeForkBlock renamed to MergeNetsplitBlock (#24904)

    This last ones did not required any code changes as this endpoints are not yet supported on Ethermint:

    • [ ] some changes to debug_traceCall #24871

      • More info here
      • Will reject against pending blocks
      • Ability to override all evm-visible header fields.
      > debug.traceCall({from: eth.accounts[0], value:"0x1", gasPrice: "0xffffffff", gas: "0xffff", input: "0x43"}, "latest", {"blockoverrides":{"number": "0x50"}})
      
    • [ ] The new debug_getRawReceipts RPC method returns the binary representation of block receipts. (#24773)

    • [ ] The new debug_dbGet method can be used to read from the chain database. (#24739)

    NOTE

    Since EIPs were modified, this changed required a migration to Ethermint v3.


    For contributor use:

    • [ ] Targeted PR against correct branch (see CONTRIBUTING.md)
    • [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
    • [ ] Code follows the module structure standards.
    • [ ] Wrote unit and integration tests
    • [ ] Updated relevant documentation (docs/) or specification (x/<module>/spec/)
    • [ ] Added relevant godoc comments.
    • [ ] Added a relevant changelog entry to the Unreleased section in CHANGELOG.md
    • [ ] Re-reviewed Files changed in the Github PR explorer

    For admin use:

    • [ ] Added appropriate labels to PR (ex. WIP, R4R, docs, etc)
    • [ ] Reviewers assigned
    • [ ] Squashed all commits, uses message "Merge pull request #XYZ: [title]" (coding standards)
    opened by crypto-facs 0
  • Docs for ethermint PubKey not correct?

    Docs for ethermint PubKey not correct?

    In https://github.com/evmos/ethermint/blob/main/proto/ethermint/crypto/v1/ethsecp256k1/keys.proto we have

    // PubKey defines a type alias for an ecdsa.PublicKey that implements
    // Tendermint's PubKey interface. It represents the 33-byte compressed public
    // key format.
    

    But isn't the whole purpose of the type to store an uncompressed 65 byte pubkey?

    opened by webmaster128 0
  • fix(ci): update goreleaser, markdown link

    fix(ci): update goreleaser, markdown link

    • release: v0.17.0 changelog (#1153)
    • fix(ci): update goreleaser, slither, mdlink

    Closes: #XXX

    Description


    For contributor use:

    • [ ] Targeted PR against correct branch (see CONTRIBUTING.md)
    • [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
    • [ ] Code follows the module structure standards.
    • [ ] Wrote unit and integration tests
    • [ ] Updated relevant documentation (docs/) or specification (x/<module>/spec/)
    • [ ] Added relevant godoc comments.
    • [ ] Added a relevant changelog entry to the Unreleased section in CHANGELOG.md
    • [ ] Re-reviewed Files changed in the Github PR explorer

    For admin use:

    • [ ] Added appropriate labels to PR (ex. WIP, R4R, docs, etc)
    • [ ] Reviewers assigned
    • [ ] Squashed all commits, uses message "Merge pull request #XYZ: [title]" (coding standards)
    Type: CI 
    opened by fedekunze 0
  • build(deps): bump github.com/ethereum/go-ethereum from 1.10.16 to 1.10.19

    build(deps): bump github.com/ethereum/go-ethereum from 1.10.16 to 1.10.19

    Bumps github.com/ethereum/go-ethereum from 1.10.16 to 1.10.19.

    Release notes

    Sourced from github.com/ethereum/go-ethereum's releases.

    Camaron (v1.10.19)

    Geth v1.10.19 is yet another feature release.

    The release contains the Gray Glacier fork definition. The Gray Glacier fork is a difficulty-bomb postponement, which is expected to go live on Ethereum Mainnet towards the end of June.

    In other words: all users are required to upgrade before the Gray Glacier hardfork activates at block 15050000 (#25088)

    Changes which may cause incompatibilities:

    • The engine API is now only available with JWT authentication.
    • Geth will refuse to start if legacy receipts are present in the database. The check can be disabled with --ignore-legacy-receipts, but we strongly recommend you run the conversion in this case (#24943).
    • The RPC method debug_traceCall will now reject execution against the pending block (#24871).
    • RPC timer metrics have been changed into histograms (#25044).

    Other changes in this release:

    • Updates related to The Merge on Ropsten, which is now a proof-of-stake network (#25018, #24975, #25078)!
    • The debug_traceCall RPC method now also supports block overrides; making fields like timestamp or the block number settable by the caller (#24871).
    • A new diagnostic tool, geth snapshot inspect-account, allows investigations of snapshot data (#24765).
    • Fixes and preparatory work related to The Merge (#24946, #25006, #24955, #24997).
    • Preparatory work for the upcoming path-based trie storage feature (#24750).
    • Introduce eth/67 protocol, dropping support for GetNodeData (#24093).
    • Optimizations related to block processing (#23500, #24958, #24616).
    • Tests/fuzzing improvements (#25033, #25038, #25037, #25036, #25016, #24249 #24928).
    • Many updates to documentation (#25086, #25058, #25057, #25056, #25040, #25032).
    • Nicer format when showing chain config (#24904).

    For a full rundown of the changes please consult the Geth 1.10.19 release milestone.


    As with all our previous releases, you can find the:

    Sharblu (v1.10.18)

    After a long train of maintenance releases, we are happy to announce this feature release of Geth!

    This release is ready for the Merge transition on the Ropsten testnet, and will activate the Merge on Ropsten when the testnet reaches a total difficulty of 43531756765713534.

    Please ensure you have a beacon chain node configured for the transition. You can find more information about preparing for the Merge in our guide: https://geth.ethereum.org/docs/interface/merge.

    Note: the Merge transition on Ropsten was unsuccessful because the configured TD was reached earlier than expected. Please run geth with --override.terminaltotaldifficulty 100000000000000000000000 on Ropsten for the time being.

    The tracing subsystem has been another focus area of this release cycle. We have replaced the JavaScript interpreter used by the tracing engine with Goja, which offers slightly better performance and implements many ES6 language features. There are minor differences in JS tracing semantics: The built-in functions memory.slice, memory.getUint, stack.peek will now throw an exception and interrupt tracing when accessing out-of-bounds data. They previously returned an empty value for invalid args instead.

    This release contains further breaking changes to tracing APIs. Be sure to check the tracing changelog section. Please also report any incompatibilities you encounter.

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies go 
    opened by dependabot[bot] 0
  • build(deps): bump github.com/btcsuite/btcd from 0.22.1 to 0.23.1

    build(deps): bump github.com/btcsuite/btcd from 0.22.1 to 0.23.1

    Bumps github.com/btcsuite/btcd from 0.22.1 to 0.23.1.

    Commits
    • 04aac1e Merge pull request #1863 from Roasbeef/version-bump-23-1
    • e6f6ba4 build: bump version to v0.23.1
    • 8fc2d70 Merge pull request #1862 from bhandras/rpccliet-fix2
    • 1696c63 Merge pull request #1844 from chappjc/getnewaddress-rpcclient-revert
    • b2af777 rpcclient: fix missing return
    • b5fb9b0 Merge pull request #1860 from Roasbeef/version-bump-23
    • 2ce3069 build: bump version to v0.23.0
    • fd7f41c Merge pull request #1840 from ellemouton/exportCheckStandardnessFunc
    • cee92e0 Merge pull request #1856 from bhandras/rpcclient-fix
    • 97313ac rpcclient: save the last error when retrying
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies go 
    opened by dependabot[bot] 0
Releases(v0.16.1)
Go implementation of Ethereum proof of stake

Prysm: An Ethereum Consensus Implementation Written in Go This is the core repository for Prysm, a Golang implementation of the Ethereum Consensus spe

Prysmatic Labs 2.6k Jun 22, 2022
A Verifyable Chain Relay for Proof of Stake Blockchains

A Verifyable Chain Relay for Proof of Stake Blockchains This repository contains

null 3 Feb 21, 2022
OmniFlix Hub is a blockchain built using Cosmos SDK and Tendermint and created with Starport.

OmniFlix Hub is the root chain of the OmniFlix Network. Sovereign chains and DAOs connect to the OmniFlix Hub to manage their web2 & web3 media operations (mint, manage, distribute & monetize) as well as community interactions.

OmniFlix Network 33 Apr 4, 2022
demochain is a blockchain built using Cosmos SDK and Tendermint and created with Starport.

demochain demochain is a blockchain built using Cosmos SDK and Tendermint and created with Starport. Get started starport chain serve serve command i

Tomasz Zdybał 4 Jun 21, 2022
loan is a blockchain built using Cosmos SDK and Tendermint and created with Starport.

loan loan is a blockchain built using Cosmos SDK and Tendermint and created with Starport. As a borrower you post a request for a loan and specify the

Denis Fadeev 8 Feb 15, 2022
Berachain - A blockchain built using Cosmos SDK and Tendermint and created with Starport

berachain berachain is a blockchain built using Cosmos SDK and Tendermint and cr

null 2 Jan 26, 2022
Frontier Chain is a blockchain application built using Cosmos SDK and Tendermint.

Frontier Chain Frontier Chain is a blockchain application built using Cosmos SDK and Tendermint. Setup Initialize the blockchain with one validator no

Frontier 12 Jun 15, 2022
Arbiter DAO: a blockchain built using Cosmos SDK and Tendermint

Arbiter DAO Arbiter DAO is a blockchain built using Cosmos SDK and Tendermint. Arbiter DAO is a Olympus DAO and Klima DAO fork brought to the cosmos e

Sapeins-cosmos 8 Feb 25, 2022
Kava - Reference implementation of Kava, a blockchain for cross-chain DeFi. Built using the cosmos-sdk

DeFi for Crypto. Telegram | Medium | Discord Reference implementation of Kava, a

null 0 Apr 4, 2022
Ethereum go-ethereum - Official Golang implementation of the Ethereum protocol

Go Ethereum Official Golang implementation of the Ethereum protocol. Automated b

null 6 Feb 17, 2022
ConsenSys Software 8 Jan 18, 2022
This library aims to make it easier to interact with Ethereum through de Go programming language by adding a layer of abstraction through a new client on top of the go-ethereum library.

Simple ethereum client Simple ethereum client aims to make it easier for the developers to interact with Ethereum through a new layer of abstraction t

Jero 3 May 1, 2022
An interoperable smart contract hub

Juno An interoperable smart contract hub which automatically executes, controls or documents a procedure of relevant events and actions according to t

Juno 203 Jun 25, 2022
The Cosmos-SDK is a framework for building blockchain applications in Golang.

The Cosmos-SDK is a framework for building blockchain applications in Golang. It is being used to build Gaia, the first implementation of the Cosmos Hub.

null 0 Nov 26, 2021
LEO (Low Ethereum Orbit) is an Ethereum Portal Network client.

LEO LEO (Low Ethereum Orbit) is an Ethereum Portal Network client. What makes LEO different from other Portal Network clients is that it uses libp2p f

Valist, Inc. 10 Apr 19, 2022
Ethereum-vanity-wallet - A fork of https://github.com/meehow/ethereum-vanity-wallet but the key can be exported to a JSON keystore file

ethereum-vanity-wallet See https://github.com/meehow/ethereum-vanity-wallet This version: doesn't display the private key let's you interactively expo

null 0 Jan 2, 2022
Go-ethereum - Official Golang implementation of the Ethereum protocol

Go Ethereum Official Golang implementation of the Ethereum protocol. Automated b

i06 0 Jan 4, 2022
a Golang sdk for working with DeFi protocols, and ethereum compatible blockchains

A golang sdk for working with DeFi protocols and general utilities for working with ethereum-compatible blockchains. packages bclient bindings cli con

bonedaddy 58 Jun 16, 2022
Arbitrum is a Layer 2 cryptocurrency platform that makes smart contracts scalable, fast, and private.

Arbitrum is a Layer 2 cryptocurrency platform that makes smart contracts scalable, fast, and private. Arbitrum interoperates closely with Ethereum, so Ethereum developers can easily cross-compile their contracts to run on Arbitrum. Arbitrum achieves these goals through a unique combination of incentives, network protocol design, and virtual machine architecture.

Offchain Labs 824 Jun 30, 2022