Martin Holst Swende
da92f5b2d6
core/genesis: add support for setting nonce in 'alloc'
...
This is to be able to set `pre`-state when performing blockchain tests through Hive, we need to be able to set the nonce.
2017-01-24 20:42:47 +01:00
Bas van Kervel
745a3adebd
core: remove support for Olympic network
2017-01-12 09:50:54 +01:00
Bas van Kervel
a1798a8188
core,cmd/utils: bugfix for ropsten dump imports
2017-01-05 11:31:57 +01:00
Jeffrey Wilcke
a8ca75738a
core: implemented new ropsten testnet
2016-11-23 09:34:01 +01:00
Jeffrey Wilcke
aad4890082
cmd/geth, core, light, mobile: removed state account StartingNonce
...
All account's nonce start at 0.
2016-11-23 09:34:01 +01:00
Jeffrey Wilcke
445feaeef5
core, core/state, trie: EIP158, reprice & skip empty account write
...
This commit implements EIP158 part 1, 2, 3 & 4
1. If an account is empty it's no longer written to the trie. An empty
account is defined as (balance=0, nonce=0, storage=0, code=0).
2. Delete an empty account if it's touched
3. An empty account is redefined as either non-existent or empty.
4. Zero value calls and zero value suicides no longer consume the 25k
reation costs.
params: moved core/config to params
Signed-off-by: Jeffrey Wilcke <jeffrey@ethereum.org>
2016-11-13 10:44:04 +01:00
zsfelfoldi
f9917c8c7b
core: improved chainDb using sequential keys
2016-06-07 16:38:56 +02:00
Jeffrey Wilcke
c1a4dcfc87
core, eth: added json tag field for proper unmarshalling
...
According to our own instructions the genesis config attribute should be
"config". The genesis definition in the go code, however, has a field
called `ChainConfig`. This field now has a `json:"config"` struct tag so
that the json is properly unmarshalled.
This fixes #2482
2016-04-25 12:48:31 +02:00
Jeffrey Wilcke
f0cbebb19f
core: added basic chain configuration
...
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.
2016-04-01 01:01:10 +02:00
Péter Szilágyi
1e806c4c77
cmd, common, core, eth, node, rpc, tests, whisper, xeth: use protocol stacks
2015-11-27 11:06:12 +02:00
Péter Szilágyi
e86e0ecdc8
core, eth, miner, xeth: clean up tx/receipt db accessors
2015-11-19 16:03:32 +02:00
Péter Szilágyi
832b37c822
core, eth: receipt chain reconstruction
2015-10-19 10:03:09 +03:00
Gustav Simonsson
1b1f293082
core/state, core, miner: handle missing root error from state.New
2015-10-16 02:22:06 +02:00
Jeffrey Wilcke
315a422ba7
Merge pull request #1888 from obscuren/testnet
...
cmd, core, eth: added official testnet
2015-10-09 01:31:37 -07:00
Jeffrey Wilcke
1de796f101
cmd, core, eth: added official testnet
2015-10-08 22:01:39 +02:00
Jeffrey Wilcke
f8786defd0
Merge pull request #1850 from karalabe/genesis-block-receipts
...
core: fix #1848 , block receipts db entry for the genesis too
2015-10-07 01:50:37 -07:00
Péter Szilágyi
830ddcee60
core: fix #1848 , block receipts db entry for the genesis too
2015-09-24 19:38:59 +03:00
Felix Lange
a2d5a60418
core, core/state: batch-based state sync
2015-09-22 22:57:37 +02:00
Jeffrey Wilcke
eaa4473dbd
core, core/types: readd transactions after chain re-org
...
Added a `Difference` method to `types.Transactions` which sets the
receiver to the difference of a to b (NOTE: not a **and** b).
Transaction pool subscribes to RemovedTransactionEvent adding back to
those potential missing from the chain.
When a chain re-org occurs remove any transactions that were removed
from the canonical chain during the re-org as well as the receipts that
were generated in the process.
Closes #1746
2015-09-21 20:33:28 +02:00
Felix Lange
8c4dab77ba
all: move common.Database to package ethdb
2015-09-14 23:36:30 +02:00
Péter Szilágyi
cdc2662c40
core: split out TD from database and all internals
2015-09-11 17:42:25 +03:00
Péter Szilágyi
2b339cbbd8
core, eth: split the db blocks into headers and bodies
2015-09-11 17:42:25 +03:00
Gustav Simonsson
7324176f70
Add tests for uncle timestamps and refactor timestamp type
2015-08-25 04:46:11 +02:00
Jeffrey Wilcke
a23478c0be
core, eth, trie, xeth: merged state, chain, extra databases in one
2015-08-07 22:29:02 +02:00
Jeffrey Wilcke
1fad8798ec
Merge pull request #1515 from fjl/license-fixes
...
all: fix license headers one more time
2015-07-28 04:29:42 -07:00
Jeffrey Wilcke
3530acb9e2
core: genesis extra data field fix
2015-07-26 14:44:54 +02:00
Jeffrey Wilcke
c1c895a36b
core: fixed genesis write out to write only canon number
2015-07-25 21:48:53 +02:00
Jeffrey Wilcke
0c718afe90
core: check genesis block before writeout
2015-07-25 16:53:35 +02:00
Felix Lange
bfbcfbe4a9
all: fix license headers one more time
...
I forgot to update one instance of "go-ethereum" in commit 3f047be5a.
2015-07-23 18:35:11 +02:00
Felix Lange
3f047be5aa
all: update license headers to distiguish GPL/LGPL
...
All code outside of cmd/ is licensed as LGPL. The headers
now reflect this by calling the whole work "the go-ethereum library".
2015-07-22 18:51:45 +02:00
Jeffrey Wilcke
a32c51effd
cmd, core, eth, common: genesis preparation
...
Implemented the --genesis flag thru which we can set a custom genesis
block, including the official Ethereum genesis block.
2015-07-10 17:37:41 +02:00
Felix Lange
ea54283b30
all: update license information
2015-07-07 14:12:44 +02:00
Jeffrey Wilcke
ab16ce70fc
core, miner, tests: renamed state methods
...
* Update => SyncIntermediate
* Added SyncObjects
SyncIntermediate only updates whatever has changed, but, as a side
effect, requires much more disk space.
SyncObjects will only sync whatever is required for a block and will not
save intermediate state to disk. As drawback this requires more time
when more txs come in.
2015-07-04 02:51:36 +02:00
Felix Lange
ceaf1c080b
core: add GenerateChain, GenesisBlockForTesting
2015-06-29 18:51:47 +02:00
Felix Lange
1d42888d30
core/types: make blocks immutable
2015-06-29 18:51:47 +02:00
obscuren
6244b10a8f
core: settable genesis nonce
...
You can set the nonce of the block with `--genesisnonce`. When the
genesis nonce changes and it doesn't match with the first block in your
database it will fail. A new `datadir` must be given if the nonce of the
genesis block changes.
2015-06-08 18:33:43 +02:00
obscuren
b26f5e0bb7
types: block json unmarshal method added
2015-06-03 22:39:17 +02:00
obscuren
36ec42e50c
Merge branch 'frontier/natspec' of https://github.com/ethersphere/go-ethereum into ethersphere-frontier/natspec
2015-04-20 18:08:14 +02:00
obscuren
97b0c4b697
core: moved TD calculation from proc to chain
2015-04-20 12:01:20 +02:00
zsfelfoldi
d8fb834386
test account is no longer permanently in genesis block, only put there when testing
2015-04-19 20:57:49 +01:00
zsfelfoldi
dba2367157
NatSpec contracts are now not in the genesis block but added by the test
2015-04-19 20:57:49 +01:00
zsfelfoldi
b635cad9fe
NatSpec passing end to end test
2015-04-19 20:57:49 +01:00
zsfelfoldi
e2d333d209
NatSpec contracts in genesis block, end to end test (unfinished)
2015-04-19 20:57:49 +01:00
obscuren
9c55576c7b
Block header changed & console miner control
...
* miner control moved to `admin.miner`
* miner option to set extra data
* block extra now bytes
2015-04-05 18:59:18 +02:00
Gustav Simonsson
c26c8d3a44
Read most protocol params from common/params.json
...
* Add params package with exported variables generated from
github.com/ethereum/common/blob/master/params.json
* Use params package variables in applicable places
* Add check for minimum gas limit in validation of block's gas limit
* Remove common/params.json from go-ethereum to avoid
outdated version of it
2015-04-02 06:22:32 +02:00
obscuren
0a554a1f27
Blocktest fixed, Execution fixed
...
* Added new CreateAccount method which properly overwrites previous
accounts (excluding balance)
* Fixed block tests (100% success)
2015-04-01 10:53:32 +02:00
obscuren
3453f8c5d2
Added Code field
2015-03-31 15:30:55 +02:00
obscuren
0330077d76
moved state and vm to core
2015-03-23 16:59:09 +01:00
Felix Lange
a59dd393e7
core: fix tests
2015-03-18 13:38:47 +01:00
obscuren
515d9432fc
converted vm
2015-03-17 11:19:23 +01:00
obscuren
b523441361
Moved ethutil => common
2015-03-16 11:27:38 +01:00
obscuren
387f6bba3e
POW fixes
2015-03-14 16:37:57 +01:00
obscuren
e69d5b32e8
Increased genesis gas & gas floor limit to 3141592
2015-03-13 13:52:23 +01:00
obscuren
c47866d251
Miner fixes and updates (including miner)
2015-03-05 09:14:58 +01:00
obscuren
d4d505c868
Fixed genesis
2015-03-03 21:48:05 +01:00
obscuren
08fd0715f9
updated genesis
2015-03-03 21:09:29 +01:00
obscuren
26de12d9bf
Changed nonce to a uint64
2015-03-03 21:04:31 +01:00
obscuren
6ea7aae29c
Removed some methods from the JS REPL
2015-02-28 19:15:57 +01:00
obscuren
cc43ab9a81
Minor updates for release
2015-02-20 18:05:46 +01:00
obscuren
30fa30bd4a
Docs & old code removed
2015-02-02 20:02:00 -08:00
obscuren
7f638f0b2d
moving to a better xeth
2015-01-28 18:14:28 +01:00
obscuren
b25126a277
Minor fixed and additions for block proc
...
* Path check length
* Genesis include TD
* Output TD on last block
2015-01-08 16:37:06 +01:00
obscuren
fed3e6a808
Refactored ethutil.Config.Db out
2015-01-07 13:17:48 +01:00
obscuren
780abaec98
Switched to new trie
2014-12-23 18:35:36 +01:00
obscuren
4cd79d8ddd
Refactored block & Transaction
...
* Includes new rlp decoder
2014-12-23 13:48:44 +01:00
obscuren
9008b155d3
Renamed chain
=> core
2014-12-04 10:28:02 +01:00