Commit Graph

11392 Commits

Author SHA1 Message Date
Felix Lange
0016180259 cmd/devp2p, p2p: dial using node iterator, discovery crawler (#20132)
* p2p/enode: add Iterator and associated utilities

* p2p/discover: add RandomNodes iterator

* p2p: dial using iterator

* cmd/devp2p: add discv4 crawler

* cmd/devp2p: WIP nodeset filter

* cmd/devp2p: fixup lesFilter

* core/forkid: add NewStaticFilter

* cmd/devp2p: make -eth-network filter actually work

* cmd/devp2p: improve crawl timestamp handling

* cmd/devp2p: fix typo

* p2p/enode: fix comment typos

* p2p/discover: fix comment typos

* p2p/discover: rename lookup.next to 'advance'

* p2p: lower discovery mixer timeout

* p2p/enode: implement dynamic FairMix timeouts

* cmd/devp2p: add ropsten support in -eth-network filter

* cmd/devp2p: tweak crawler log message
2019-12-03 13:08:33 +01:00
Martin Holst Swende
7df0db66d6 eth/downloader: fix data race in downloader 2019-12-03 13:06:36 +01:00
Michael Forney
ccbacdf8e1 core/asm: assembly parser label fixes (#20210)
* core/asm: Fix encoding of pushed labels

EVM uses big-endian byte-order, so to pad a label value to 4 bytes,
zeros must be added to the front, not the end.

* core/asm: Fix PC calculations when a label is pushed

Incrementing PC by 5 is only correct if the label appears after a jump,
in which case there is an implicit push. When it appears after an explicit
push, PC should only be incremented by 4.

* core/asm: Allow JUMP with no argument

This way, a label can be pushed explicitly, or loaded from memory to
implement a jump table.
2019-12-03 13:05:34 +01:00
gary rong
dec8b5cf64 cmd/evm: remove surrounding whitespace in hex input code (#20211)
This way, the output of `evm compile` can be used directly in `evm
--codefile code.txt run`, without stripping the trailing newline first.
2019-12-03 13:05:14 +01:00
Michael Forney
206ba4ea54 cmd/evm: remove surrounding whitespace in hex input code (#20211)
This way, the output of `evm compile` can be used directly in `evm
--codefile code.txt run`, without stripping the trailing newline first.
2019-12-03 13:03:44 +01:00
Guillaume Ballet
148321fa17 consensus: fix possessives in comments. (#20209) 2019-12-03 13:02:57 +01:00
Martin Holst Swende
4e93af5661 clef: resolve windows pipes, fixes #20121 (#20166) 2019-12-03 13:02:45 +01:00
Piotr Dyraga
4baf9215b1 accounts/abi/bind: take into account gas price during gas estimation (#20189)
The gas price was not passed to the `EstimateGas` function. As a result,
conditional execution paths depending on `tx.gasprice` could be not
correctly processed and we could get invalid gas estimates for contract
function calls.
2019-12-03 13:02:34 +01:00
gary rong
5f494b1639 miner: add generate and import unit test (#20111)
This PR adds a new unit test in miner package which will create some blocks from miner and then import into another chain. In this way, we can ensure all blocks generated by Geth miner obey consensus rules.
2019-12-03 13:02:17 +01:00
Marius Kjærstad
b295b5eac7 metrics: change links in README.md to https (#20182) 2019-12-03 13:00:41 +01:00
Marius Kjærstad
7e7e07dba8 dashboard: change links in README to https (#20181)
Changed http:// to https:// on links in dashboard/README.md
2019-12-03 13:00:30 +01:00
Marius Kjærstad
e184b8e97e Changed http:// to https:// on links in log/README.md (#20178)
docs: change http to https on links in log/README.md
2019-12-03 13:00:09 +01:00
Jeffery Robert Walsh
0d156f960a README: use new miner threads flag instead of legacy minerthreads flag (#20165) 2019-12-03 12:59:57 +01:00
Ross
c2806ceae7 p2p/simulations: add node properties support and utility functions (#20060) 2019-12-03 12:59:45 +01:00
Felix Lange
f1b4fe6e49 p2p/dnsdisc: update to latest EIP-1459 spec (#20168)
This updates the DNS TXT record format to the latest
changes in ethereum/EIPs#2313.
2019-12-03 12:59:27 +01:00
Martin Holst Swende
ac2325978a cmd/utils: fix command line flag resolve (#20167)
In Geth, we have two sources for configuration:
(1) Config file
(2) Command line flag

Basically geth will first resolve config file and then overwrite
configs with command line flags.

This issue is: geth should only overwrite configs if flags are truly
set. So before we apply any flag to configs, `GlobalIsSet` check
is necessary.
2019-12-03 12:59:09 +01:00
gary rong
aae4f616e4 cmd/utils: fix command line flag resolve (#20167)
In Geth, we have two sources for configuration:
(1) Config file
(2) Command line flag

Basically geth will first resolve config file and then overwrite
configs with command line flags.

This issue is: geth should only overwrite configs if flags are truly
set. So before we apply any flag to configs, `GlobalIsSet` check
is necessary.
2019-12-03 12:53:06 +01:00
Felix Lange
17fb199c46 params: begin v1.9.7 release cycle 2019-12-03 12:50:50 +01:00
Igor Mandrigin
1f478afcd4 add diff file 2019-12-03 12:50:07 +01:00
Andrew Ashikhmin
8e5e5d881f
Issue 123 Make encoding of ChangeSet ordered by keys and binary-searchable (#207) 2019-12-03 12:13:12 +01:00
Alex Sharov
4678b6b36f
Merge pull request #215 from ledgerwatch/210_rpcdemon_getBlockByNumber
rpcdemon get block by number
2019-12-03 10:35:11 +07:00
alex.sharov
2f079dcf75 Readme.md 2019-12-03 09:07:33 +07:00
alex.sharov
33c52363ee totalDifficulty - consistent calculation 2019-12-03 09:07:33 +07:00
alex.sharov
330060d382 ignore *.http files - I using them to store http requests 2019-12-03 09:07:33 +07:00
alex.sharov
4d8c1a8ec1 remove debug 2019-12-03 09:07:33 +07:00
alex.sharov
570d3b79d7 initial implementation of eth_GetBlockByNumber, for now I did copy much functions from eth source because we may need max flexibility for benchmarks of rpcdaemon 2019-12-03 09:07:33 +07:00
Alexey Akhunov
f7b6b524fe Fix memprofile/cpuprofile confusion 2019-12-03 09:07:33 +07:00
Alexey Akhunov
1cd328d152 Fix lint 2019-12-03 09:07:21 +07:00
Alexey Akhunov
335ef77249 First working RPC command eth_blockNumber 2019-12-03 09:07:21 +07:00
Alexey Akhunov
95ca76e440 Fix lint 2019-12-03 09:07:13 +07:00
Alexey Akhunov
2026f74f04 Fix CLI 2019-12-03 09:07:13 +07:00
Alexey Akhunov
b2ba410ba5 Add remoteDb listener and RPC daemon CLI 2019-12-03 09:05:36 +07:00
ledgerwatch
8cb96471a3
Skeleton of RPC daemon, for 1 operation eth_blockNumber (#209)
* Finish CmdSeek and add CmdNext

* Add remoteDb listener and RPC daemon CLI

* Fix test

* Fix CLI

* Fix lint

* Fix unreachable code

* Fix lint

* First working RPC command eth_blockNumber

* Fix lint

* Fix lint

* Fix memprofile/cpuprofile confusion

* Add comment
2019-12-02 13:47:00 +00:00
ledgerwatch
df27f63e01
Database Walkthrough documentation (beginning) and tweaks to the visualisations (#214)
* Improve visualisations of the db comparision

* Initial db walkthrough doc

* More docs

* Fix lint
2019-12-02 13:11:56 +00:00
Evgeny Danilenko
ce1c14809b deadlock-fix (#206) 2019-11-27 16:49:05 +00:00
ledgerwatch
a521aef296
Run archive node by default (#204)
* Make archive mode default again

* Fix test

* Remove bad file

* Change default of NoHistory to false
2019-11-27 15:50:40 +00:00
Igor Mandrigin
ebae2fe281
Add --noverify flag to /cmd/state to skip roots check. (#205) 2019-11-27 14:52:22 +01:00
Andrew Ashikhmin
84285a5ab1
Roughly finish with adding BadgerDB (first cut) (#203)
* Bumping GOMAXPROCS for Badger

* fixes related to database size

* Schedule GC for Badger

* pacify linter

* Don't start GC for ephemeral Badger

* Don't log "Value log GC attempt didn't result in any cleanup"

* Start GC in backround

* Bump GC period and IdealBatchSize for Badger

* BadgerDatabase RewindData

* Boolean badger flag -> string database flag

* cosmetic change
2019-11-27 13:15:25 +00:00
Igor Mandrigin
4fb54a7b82
Write proper stats to the CSV file; restore charting capabilities. (#201) 2019-11-26 14:29:41 +01:00
Igor Mandrigin
ac085db07d
Use 'cobra' package to make a more modular CLI for stateless ethereum prototype. (#200) 2019-11-25 14:46:36 +01:00
ledgerwatch
b9b4904e8d
First steps for RPC deamon (remote DB access) (#199)
* Remote DB initial commit

* Fix lint

* Fix lint

* Fix lint
2019-11-25 13:39:32 +00:00
ledgerwatch
5f667d3225
Further fix to calculation of state root without modification of the trie (#192)
* Fix

* Minimize changes
2019-11-25 13:37:34 +00:00
ledgerwatch
b2ca635d86
Debug tool for recursively comparing state (in DB or in a file) with geth archive node (#191)
* Fetching results of eth_getProof

* Dump 5 levels of the trie in a file for repeated runs

* Drill down to 6 levels of the trie

* Fix lint

* Fix lint

* Fix lint

* verifySnapshot to check accounts with emptyRoot

* Descend into short nodes

* Latest tool fixes

* Fix lint

* Fix state properly working
2019-11-25 13:36:21 +00:00
Evgeny Danilenko
992e34745c
Replace red black trees (#184)
* use map instead of rb tree

* GetModifiedAccounts

* introduce tuples

* linters

* linters

* init puts

* init maps

* remove GetSortedKeys

* fix string bucket case

* use append in tuples

* fix tuples

* fix tests

* all tests are green

* fmt

* fmt

* rename tuple to tuples
2019-11-21 18:38:00 +00:00
Evgeny Danilenko
f2081b3591
In case of termination errors should be returned (#175)
* return errors

* fmt
2019-11-21 18:37:33 +00:00
ledgerwatch
244d70fb9c
Further fixes for the no-mod-root (#186)
* Further fixes

* Repace 1000 with a symbol
2019-11-21 15:56:39 +00:00
Andrew Ashikhmin
1c0cf9be72
BadgerDB: MultiWalk & some other APIs, command line flag, scaffolding for testing (#183)
* BadgerDatabase MemCopy

* fix err shadowing

* BadgerDatabase MultiPut & NewBatch

* Remove goOn from MultiWalk & MultiWalkAsOf

* BadgerDatabase MultiWalk. Scaffolding for testing Badger in blockchain_test

* Badger Flag

* fix error logging

* Split IdealBatchSize between BoltDB and BadgerDB

* NewEphemeralBadger
2019-11-21 16:12:38 +01:00
Igor Mandrigin
aa71b298cc
Write tape stats to a csv file. (#185) 2019-11-21 15:09:21 +01:00
Igor Mandrigin
f97578bb04
Use ethdb.Database interface to generate snapshots. (#182) 2019-11-21 14:57:44 +01:00
Igor Mandrigin
f4cda8ba4c
Fix snapshot saving and add an interval setting. (#181) 2019-11-21 14:36:24 +01:00