1. 11 1月, 2019 1 次提交
  2. 21 11月, 2018 1 次提交
  3. 20 9月, 2018 1 次提交
  4. 30 7月, 2018 1 次提交
  5. 21 6月, 2018 1 次提交
    • P
      trie: cache collapsed tries node, not rlp blobs (#16876) · d926bf2c
      Péter Szilágyi 提交于
      The current trie memory database/cache that we do pruning on stores
      trie nodes as binary rlp encoded blobs, and also stores the node
      relationships/references for GC purposes. However, most of the trie
      nodes (everything apart from a value node) is in essence just a
      collection of references.
      
      This PR switches out the RLP encoded trie blobs with the
      collapsed-but-not-serialized trie nodes. This permits most of the
      references to be recovered from within the node data structure,
      avoiding the need to track them a second time (expensive memory wise).
      d926bf2c
  6. 19 6月, 2018 1 次提交
  7. 05 6月, 2018 1 次提交
  8. 09 5月, 2018 1 次提交
  9. 07 5月, 2018 1 次提交
  10. 10 4月, 2018 1 次提交
  11. 23 2月, 2018 1 次提交
  12. 06 2月, 2018 1 次提交
  13. 22 1月, 2018 1 次提交
  14. 03 1月, 2018 1 次提交
  15. 22 12月, 2017 1 次提交
  16. 14 9月, 2017 1 次提交
  17. 11 9月, 2017 1 次提交
  18. 18 8月, 2017 1 次提交
  19. 07 8月, 2017 1 次提交
  20. 15 7月, 2017 1 次提交
    • P
      core: remove redundant storage of transactions and receipts (#14801) · 0ff35e17
      Péter Szilágyi 提交于
      * core: remove redundant storage of transactions and receipts
      
      * core, eth, internal: new transaction schema usage polishes
      
      * eth: implement upgrade mechanism for db deduplication
      
      * core, eth: drop old sequential key db upgrader
      
      * eth: close last iterator on successful db upgrage
      
      * core: prefix the lookup entries to make their purpose clearer
      0ff35e17
  21. 27 6月, 2017 1 次提交
    • F
      core/state: access trie through Database interface, track errors (#14589) · 9e5f03b6
      Felix Lange 提交于
      With this commit, core/state's access to the underlying key/value database is
      mediated through an interface. Database errors are tracked in StateDB and
      returned by CommitTo or the new Error method.
      
      Motivation for this change: We can remove the light client's duplicated copy of
      core/state. The light client now supports node iteration, so tracing and storage
      enumeration can work with the light client (not implemented in this commit).
      9e5f03b6
  22. 10 4月, 2017 1 次提交
  23. 06 4月, 2017 1 次提交
  24. 05 4月, 2017 1 次提交
  25. 23 3月, 2017 1 次提交
    • F
      core: refactor genesis handling · 37dd9086
      Felix Lange 提交于
      This commit solves several issues concerning the genesis block:
      
      * Genesis/ChainConfig loading was handled by cmd/geth code. This left
        library users in the cold. They could specify a JSON-encoded
        string and overwrite the config, but didn't get any of the additional
        checks performed by geth.
      * Decoding and writing of genesis JSON was conflated in
        WriteGenesisBlock. This made it a lot harder to embed the genesis
        block into the forthcoming config file loader. This commit changes
        things so there is a single Genesis type that represents genesis
        blocks. All uses of Write*Genesis* are changed to use the new type
        instead.
      * If the chain config supplied by the user was incompatible with the
        current chain (i.e. the chain had already advanced beyond a scheduled
        fork), it got overwritten. This is not an issue in practice because
        previous forks have always had the highest total difficulty. It might
        matter in the future though. The new code reverts the local chain to
        the point of the fork when upgrading configuration.
      
      The change to genesis block data removes compression library
      dependencies from package core.
      37dd9086
  26. 09 3月, 2017 1 次提交
  27. 14 2月, 2017 2 次提交
    • J
      params: core, core/vm, miner: 64bit gas instructions · c12f4df9
      Jeffrey Wilcke 提交于
      Reworked the EVM gas instructions to use 64bit integers rather than
      arbitrary size big ints. All gas operations, be it additions,
      multiplications or divisions, are checked and guarded against 64 bit
      integer overflows.
      
      In additon, most of the protocol paramaters in the params package have
      been converted to uint64 and are now constants rather than variables.
      
      * common/math: added overflow check ops
      * core: vmenv, env renamed to evm
      * eth, internal/ethapi, les: unmetered eth_call and cancel methods
      * core/vm: implemented big.Int pool for evm instructions
      * core/vm: unexported intPool methods & verification methods
      * core/vm: added memoryGasCost overflow check and test
      c12f4df9
    • M
      core, eth, internal: Added `debug_getBadBlocks()` method (#3654) · 72dcd3c5
      Martin Holst Swende 提交于
      * core,eth,internal: Added `debug_getBadBlocks()` method
      
      When bad blocks are discovered, these are stored within geth.
      An RPC-endpoint makes them availablewithin the `debug`
      namespace. This feature makes it easier to discover network forks.
      
      ```
      
      * core, api: go format + docs
      
      * core/blockchain: Documentation, fix minor nitpick
      
      * core: fix failing blockchain test
      72dcd3c5
  28. 13 2月, 2017 1 次提交
  29. 02 2月, 2017 1 次提交
    • J
      params: core, core/vm, miner: 64bit gas instructions (#3514) · 8b57c494
      Jeffrey Wilcke 提交于
      Reworked the EVM gas instructions to use 64bit integers rather than
      arbitrary size big ints. All gas operations, be it additions,
      multiplications or divisions, are checked and guarded against 64 bit
      integer overflows.
      
      In additon, most of the protocol paramaters in the params package have
      been converted to uint64 and are now constants rather than variables.
      
      * common/math: added overflow check ops
      * core: vmenv, env renamed to evm
      * eth, internal/ethapi, les: unmetered eth_call and cancel methods
      * core/vm: implemented big.Int pool for evm instructions
      * core/vm: unexported intPool methods & verification methods
      * core/vm: added memoryGasCost overflow check and test
      8b57c494
  30. 17 1月, 2017 1 次提交
  31. 06 1月, 2017 2 次提交
    • F
      all: gofmt -w -s · 35a7dcb1
      Felix Lange 提交于
      35a7dcb1
    • F
      core/vm: move Log to core/types · 77310619
      Felix Lange 提交于
      This significantly reduces the dependency closure of ethclient, which no
      longer depends on core/vm as of this change.
      
      All uses of vm.Logs are replaced by []*types.Log. NewLog is gone too,
      the constructor simply returned a literal.
      77310619
  32. 05 1月, 2017 1 次提交
  33. 28 11月, 2016 1 次提交
  34. 23 11月, 2016 1 次提交
  35. 14 11月, 2016 1 次提交
  36. 13 11月, 2016 2 次提交
  37. 21 10月, 2016 1 次提交