1. 28 9月, 2016 1 次提交
  2. 16 7月, 2016 4 次提交
  3. 10 5月, 2016 1 次提交
  4. 09 5月, 2016 1 次提交
    • F
      core, eth, miner: improve shutdown synchronisation · 56ed6152
      Felix Lange 提交于
      Shutting down geth prints hundreds of annoying error messages in some
      cases. The errors appear because the Stop method of eth.ProtocolManager,
      miner.Miner and core.TxPool is asynchronous. Left over peer sessions
      generate events which are processed after Stop even though the database
      has already been closed.
      
      The fix is to make Stop synchronous using sync.WaitGroup.
      
      For eth.ProtocolManager, in order to make use of WaitGroup safe, we need
      a way to stop new peer sessions from being added while waiting on the
      WaitGroup. The eth protocol Run function now selects on a signaling
      channel and adds to the WaitGroup only if ProtocolManager is not
      shutting down.
      
      For miner.worker and core.TxPool the number of goroutines is static,
      WaitGroup can be used in the usual way without additional
      synchronisation.
      56ed6152
  5. 15 4月, 2016 1 次提交
  6. 12 4月, 2016 1 次提交
    • F
      accounts: streamline API · 46e8940b
      Felix Lange 提交于
      - Manager.Accounts no longer returns an error.
      - Manager methods take Account instead of common.Address.
      - All uses of Account with unkeyed fields are converted.
      46e8940b
  7. 04 4月, 2016 1 次提交
  8. 01 4月, 2016 2 次提交
    • J
      cmd/utils, miner: A/B testing JIT VM. Disabled for miners · bbeaab7e
      Jeffrey Wilcke 提交于
      This PR introduces a 10% probability that you'll run the client with the
      JIT enabled testing the new client and helps us potentially catch
      errors when reported.
      
      This feature is **disabled** for miners (disabling the JIT completely).
      The JIT can however be force for miners if they enable both --jitvm and
      --forcejit.
      bbeaab7e
    • J
      core: added basic chain configuration · f0cbebb1
      Jeffrey Wilcke 提交于
      Added chain configuration options and write out during genesis database
      insertion. If no "config" was found, nothing is written to the database.
      
      Configurations are written on a per genesis base. This means
      that any chain (which is identified by it's genesis hash) can have their
      own chain settings.
      f0cbebb1
  9. 24 3月, 2016 1 次提交
  10. 16 3月, 2016 1 次提交
  11. 29 2月, 2016 1 次提交
  12. 18 2月, 2016 1 次提交
  13. 13 2月, 2016 1 次提交
    • J
      eth/filters: pending logs · 987c1a59
      Jeffrey Wilcke 提交于
      Pending logs are now filterable through the Go API. Filter API changed
      such that each filter type has it's own bucket and adding filter
      explicitly requires you specify the bucket to put it in.
      987c1a59
  14. 22 1月, 2016 1 次提交
  15. 14 12月, 2015 1 次提交
  16. 19 11月, 2015 2 次提交
  17. 18 11月, 2015 1 次提交
    • J
      core, eth, rpc: split out block validator and state processor · a1d9ef48
      Jeffrey Wilcke 提交于
      This removes the burden on a single object to take care of all
      validation and state processing. Now instead the validation is done by
      the `core.BlockValidator` (`types.Validator`) that takes care of both
      header and uncle validation through the `ValidateBlock` method and state
      validation through the `ValidateState` method. The state processing is
      done by a new object `core.StateProcessor` (`types.Processor`) and
      accepts a new state as input and uses that to process the given block's
      transactions (and uncles for rewords) to calculate the state root for
      the next block (P_n + 1).
      a1d9ef48
  18. 30 10月, 2015 1 次提交
    • F
      cmd/utils, rpc/comms: stop XEth when IPC connection ends · fbdb44dc
      Felix Lange 提交于
      There are a bunch of changes required to make this work:
      
      - in miner: allow unregistering agents, fix RemoteAgent.Stop
      - in eth/filters: make FilterSystem.Stop not crash
      - in rpc/comms: move listen loop to platform-independent code
      
      Fixes #1930. I ran the shell loop there for a few minutes and didn't see
      any changes in the memory profile.
      fbdb44dc
  19. 19 10月, 2015 1 次提交
  20. 17 10月, 2015 2 次提交
    • F
      core, core/state: move gas tracking out of core/state · de8d5aaa
      Felix Lange 提交于
      The amount of gas available for tx execution was tracked in the
      StateObject representing the coinbase account. This commit makes the gas
      counter a separate type in package core, which avoids unintended
      consequences of intertwining the counter with state logic.
      de8d5aaa
    • J
      core, eth/filters, miner, xeth: Optimised log filtering · 6dc14788
      Jeffrey Wilcke 提交于
      Log filtering is now using a MIPmap like approach where addresses of
      logs are added to a mapped bloom bin. The current levels for the MIP are
      in ranges of 1.000.000, 500.000, 100.000, 50.000, 1.000. Logs are
      therefor filtered in batches of 1.000.
      6dc14788
  21. 16 10月, 2015 1 次提交
  22. 12 10月, 2015 1 次提交
  23. 04 10月, 2015 2 次提交
    • J
      cmd/geth, cmd/utils, core, rpc: renamed to blockchain · 7c769293
      Jeffrey Wilcke 提交于
      * Renamed ChainManager to BlockChain
      * Checkpointing is no longer required and never really properly worked
      when the state was corrupted.
      7c769293
    • J
      cmd/evm, core/vm, test: refactored VM and core · 361082ec
      Jeffrey Wilcke 提交于
      * Moved `vm.Transfer` to `core` package and changed execution to call
      `env.Transfer` instead of `core.Transfer` directly.
      * core/vm: byte code VM moved to jump table instead of switch
      * Moved `vm.Transfer` to `core` package and changed execution to call
        `env.Transfer` instead of `core.Transfer` directly.
      * Byte code VM now shares the same code as the JITVM
      * Renamed Context to Contract
      * Changed initialiser of state transition & unexported methods
      * Removed the Execution object and refactor `Call`, `CallCode` &
        `Create` in to their own functions instead of being methods.
      * Removed the hard dep on the state for the VM. The VM now
        depends on a Database interface returned by the environment. In the
        process the core now depends less on the statedb by usage of the env
      * Moved `Log` from package `core/state` to package `core/vm`.
      361082ec
  24. 23 9月, 2015 1 次提交
  25. 16 9月, 2015 1 次提交
  26. 15 9月, 2015 1 次提交
  27. 11 9月, 2015 1 次提交
  28. 03 9月, 2015 1 次提交
  29. 25 8月, 2015 1 次提交
  30. 19 8月, 2015 1 次提交
  31. 08 8月, 2015 1 次提交
  32. 05 8月, 2015 2 次提交