| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
(cherry picked from commit 82b14a05f2c1aca2df62e8fd5da9df6934fed2de)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* trie: store nodes as pointers
This avoids memory copies when unwrapping node interface values.
name old time/op new time/op delta
Get 388ns ± 8% 215ns ± 2% -44.56% (p=0.000 n=15+15)
GetDB 363ns ± 3% 202ns ± 2% -44.21% (p=0.000 n=15+15)
UpdateBE 1.57µs ± 2% 1.29µs ± 3% -17.80% (p=0.000 n=13+15)
UpdateLE 1.92µs ± 2% 1.61µs ± 2% -16.25% (p=0.000 n=14+14)
HashBE 2.16µs ± 6% 2.18µs ± 6% ~ (p=0.436 n=15+15)
HashLE 7.43µs ± 3% 7.21µs ± 3% -2.96% (p=0.000 n=15+13)
* trie: close temporary databases in GetDB benchmark
* trie: don't keep []byte from DB load around
Nodes decoded from a DB load kept hashes and values as sub-slices of
the DB value. This can be a problem because loading from leveldb often
returns []byte with a cap that's larger than necessary, increasing
memory usage.
* trie: unload old cached nodes
* trie, core/state: use cache unloading for account trie
* trie: use explicit private flags (fixes Go 1.5 reflection issue).
* trie: fixup cachegen overflow at request of nick
* core/state: rename journal size constant
(cherry picked from commit 40cdcf1183df235e4b32cfdbf6182a00a0e49f24)
|
|
|
|
| |
(cherry picked from commit 0ef327bbee79c01a69ba59258acc6ce3a48bc288)
|
|
|
|
| |
(cherry picked from commit 795b70423eac7180ab85b735f64aae9d6a10449d)
|
|
|
|
| |
(cherry picked from commit e482b5694faece927a29289f88d7a87b1ce1fbd1)
|
|
|
|
| |
(cherry picked from commit 710435b51b97b4c688b70bda35ab9d1aa704a988)
|
|
|
|
|
|
|
| |
This change introduces a global, per-state cache that keeps account data
in the canon state. Thanks to @karalabe for lots of fixes.
(cherry picked from commit a59a93f476434f2805c8fd3e10bf1b2f579b078f)
|
|
|
|
|
|
|
|
|
|
|
|
| |
canonical hash is set
(cherry picked from commit bb8059f6aa86d1052d7c2dd75a6985982cb278f4)
Conflicts:
core/blockchain.go
core/database_util.go
core/headerchain.go
eth/filters/filter.go
|
|
|
|
|
|
| |
lookup
(cherry picked from commit d68865f3b1b93e2463f7e3381e39fbbd137df825)
|
|
|
|
| |
(cherry picked from commit 8f0a4a25f82f48005e6252a90c008bdc76219cc3)
|
|
|
|
| |
(cherry picked from commit 071af57bcf516d92a0b56c5bb119d9576d32b5cb)
|
|
|
|
|
|
|
|
| |
(cherry picked from commit 1dd272080dfb49a07a87c46e18d8aeaa0fd41a08)
Conflicts:
eth/handler.go
eth/sync.go
|
|
|
|
|
|
|
|
|
|
|
| |
The eth/61 protocol was disabled in #2776, this commit removes its
message handlers and hash-chain sync logic.
(cherry picked from commit 016007bd25f2b5e597c2ac2f7256c4e73574f70e)
Conflicts:
eth/handler.go
eth/handler_test.go
|
|
|
|
| |
(cherry picked from commit c7c82f1b44e07ad0906dde563cce46ea87b6fc83)
|
|
|
|
| |
(cherry picked from commit 91f18ffd47d766b1493016da6802befbf9739709)
|
|
|
|
|
|
| |
and locking bugs found in its wake.
(cherry picked from commit 51f8ce26cf6dbc20ddc548af305739db981fdd41)
|
|
|
|
|
|
| |
tweak
(cherry picked from commit 993b41216092fa6dc20d3755afe322cd1376b398)
|
|
|
|
| |
(cherry picked from commit 2c2e389b778b490fcaf14d9cc45a750647ca5c68)
|
|
|
|
|
|
| |
test DAO
(cherry picked from commit 3291235711082759cd7b70253c02150a80d57011)
|
|
|
|
| |
(cherry picked from commit 7f00e8c0331bf13739e749bab88bf9006ca02f96)
|
|
|
|
|
|
| |
blocks
(cherry picked from commit 6060e098c929792f455d7f580ed91e914d28cf3b)
|
|
|
|
|
|
| |
fails
(cherry picked from commit a691aa2a13a97588208246b5e7bc70c2e3f15780)
|
|
|
|
|
|
| |
algos
(cherry picked from commit ddfef211258f027b748dbff6f71b8609bf898c11)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
transactions
Consensus rules dictate that objects can only be removed during the
finalisation of the transaction (i.e. after all calls have finished).
Thus calling a suicided contract twice from the same transaction:
A->B(S)->ret(A)->B(S) results in 2 suicides. Calling the suicided
object twice from two transactions: A->B(S), A->B, results in only one
suicide and a call to an empty object.
Our current debug tracing functionality replays all transaction that
were executed prior to the targetted transaction in order to provide
the user with an accurate trace.
As a side effect to calling StateDB.IntermediateRoot it also deletes any
suicides objects. Our tracing code never calls this function because it
isn't interested in the intermediate root. Becasue of this it caused a
bug in the tracing code where transactions that were send to priviously
deleted objects resulted in two suicides rather than one suicide and a
call to an empty object.
Fixes #2542
(cherry picked from commit bb3651abc865c6f6babec0d357afa85f5a539d83)
|
|
|
|
|
|
| |
test fails
(cherry picked from commit 783289068a63b3accbc6d69cb0ecc0f2c39c5f54)
|
|
|
|
| |
(cherry picked from commit 32559ccad1e0519ce1decc4b90df021fe215a811)
|
|
|
|
| |
(cherry picked from commit 88f174a014c1f2f99fa6d6a8054ada28a0b43504)
|
|
|
|
|
|
| |
fails
(cherry picked from commit 61ee9f299deb2bace8aa37778d248822793dd5ce)
|
|
|
|
| |
(cherry picked from commit 4496a44f68246bf128bb822c3f3a98f38adfdbdd)
|
|
|
|
| |
(cherry picked from commit 4f1d92b3329572d75a20b9f9e1cccdf74aa7c79f)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We used to have reporting of bad blocks, but it was disabled
before the Frontier release. We need it back because users
are usually unable to provide the full RLP data of a bad
block when it occurs.
A shortcoming of this particular implementation is that the
origin peer is not tracked for blocks received during eth/63
sync. No origin peer info is still better than no report at
all though.
(cherry picked from commit ca18202eb9a94de1d4b51c1572fa74edfa2773bf)
|
|
|
|
| |
(cherry picked from commit f86ea9aad5b14051d5d311591148387b2e6da725)
|
|
|
|
| |
(cherry picked from commit 8906b2fe0934c67ebb1db5d4d77acdf1a7e988f0)
|
|
|
|
| |
(cherry picked from commit e86619e75d1bd1209818ab4df2fac52e3c43b5e1)
|
|
|
|
| |
(cherry picked from commit b40dc8a1daf4bd1f293cf322274b470ad91517fb)
|
|
|
|
|
|
| |
not estimate and call
(cherry picked from commit 1580ec180414bce1e37acc614bc2445f778efb75)
|
|
|
|
|
|
|
| |
Sign transaction returned the unsigned transaction rather than the
signed one.
(cherry picked from commit 4b1a7d3868e796ee70f62985379e59f933a2aca0)
|
|
|
|
|
|
| |
parsing filter arguments
(cherry picked from commit 67cd4ee8d26e9ebe2714faaca856e73512236834)
|
|
|
|
|
|
|
|
| |
(cherry picked from commit 64a6c2c1b6c81fddccc7d3d728b7a05c5814124b)
Conflicts:
cmd/geth/js.go
internal/web3ext/web3ext.go
|
|
|
|
| |
(cherry picked from commit d87f7a1e817cbecbb62c012ed3811ceba933ae3a)
|
| |
|
|\
| |
| | |
core, eth, miner: improve shutdown synchronisation
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|/
|
|
| |
Fixes #2525
|
| |
|
|\
| |
| | |
eth: add personal_importRawKey
|
| | |
|
| | |
|
|/ |
|
|
|
|
|
|
|
| |
Context keys must have a unique type in order to prevent
any unintented clashes. The code used int(1) as key.
Fix it by implementing the pattern recommended by package context.
|
| |
|
|
|
|
|
| |
This fixes a few uses of unkeyed Body literals which go vet was
complaining about.
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| | |
accounts: cache key addresses
|
| |
| |
| |
| |
| | |
- Sign takes common.Address, not Account
- Import/Export methods work with encrypted JSON keys
|
| | |
|
| |
| |
| |
| |
| |
| | |
- Manager.Accounts no longer returns an error.
- Manager methods take Account instead of common.Address.
- All uses of Account with unkeyed fields are converted.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The account management API was originally implemented as a thin layer
around crypto.KeyStore, on the grounds that several kinds of key stores
would be implemented later on. It turns out that this won't happen so
KeyStore is a superflous abstraction.
In this commit crypto.KeyStore and everything related to it moves to
package accounts and is unexported.
|
|/ |
|
|\
| |
| | |
rpc: several fixes and support for optional arguments
|
| |
| |
| |
| |
| |
| |
| |
| | |
rpc: be less restrictive on the request id
rpc: improved documentation
console: upgrade web3.js to version 0.16.0
rpc: cache http connections
rpc: rename wsDomains parameter to wsOrigins
|
|/ |
|
|\
| |
| | |
RPC pub sub
|
| | |
|
|/
|
|
| |
This prevents display of the warning for --dev and --olympic.
|
|\
| |
| | |
eth: enforce signing hashes using eth_sign instead of arbitrary data
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Exposes some core methods to transition and compute new state
information and adds an additional return value to the transition db
method to fetch required gas for that particular message (excluding gas
refunds from any SSTORE[X] = 0 and SUICIDE.
Fixes #2395
|
| |
| |
| |
| |
| |
| |
| | |
The chain maker and the simulated backend now run with a homestead phase
beginning at block 0 (i.e. there's no frontier).
This commit also fixes up #2388
|
|/
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|\
| |
| | |
core, core/vm, tests: changed the initialisation behaviour of the EVM
|
| |
| |
| |
| |
| | |
This commit serves as a temporary workaround for enabling the jit until
the block customisation PR is merged in.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Implemented the following block debugging RPC calls
* Block(RLP)
* BlockByFile(fileName)
* BlockByNumber(number)
* BlockByHash(hash)
|
| |
| |
| |
| |
| | |
The EVM is now initialised with an additional configured object that
allows you to turn on debugging options.
|
|/ |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| | |
core: improved check for contract creation
|
| | |
|
| | |
|
| |
| |
| |
| | |
Fixes #2201
|
|\ \
| | |
| | | |
Godeps, eth, tests: update ethash, used shared for testing
|
| | | |
|
|\ \ \
| | | |
| | | | |
eth/downloader: bump the download queue size to prevent starvation
|
| |/ / |
|
|\ \ \
| |/ /
|/| | |
Closes #2241: Use Keccak-256 from golang.org/x/crypto/sha3 and mention explicitly
|
| | |
| | |
| | |
| | | |
As we aren't really using the standarized SHA-3
|
|\ \ \
| | | |
| | | | |
eth: fixed homestead tx check
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | | |
When a block is queried for retrieval we should add a check whether the
block falls within the frontier rules. If we'd always use `From`
retrieving transaction might fail. This PR temporarily changes
everything to `FromFrontier` (safe!).
|
|\ \ \
| |/ /
|/| | |
eth/downloader: fix partial rollback and ancestor lookup
|
| |/ |
|
|/
|
|
|
|
|
|
| |
* change gas cost for contract creating txs
* invalidate signature with s value greater than secp256k1 N / 2
* OOG contract creation if not enough gas to store code
* new difficulty adjustment algorithm
* new DELEGATECALL op code
|
|
|
|
|
|
| |
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.
|
|\
| |
| | |
eth: Added GPO to suggest default gas prices
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This PR fixes a regression of the RPC where the default gas price that
was being used for transaction wasn't properly using the GPO. This PR
adds the GPO back to suggest gas prices rather than the hardcoded
default of 10000000000000.
Closes #2194
|
| | |
|
| | |
|
|/ |
|
|
|
|
| |
to tx pool
|
|\
| |
| | |
eth/filters: added notifications for out of bound log events
|
| |
| |
| |
| |
| |
| | |
Out of Bound log events are events that were removed due to a fork. When
logs are received the filtering mechanism should check for the `removed`
field on the json structure.
|
|/ |
|
| |
|
|\
| |
| | |
core/vm, rpc/api: added debug_replayTransaction RPC call
|
| |
| |
| |
| |
| |
| |
| |
| | |
integrated feedback
Integrated code review suggestions
Integrated last review comments
|
|/ |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
In order to make this happen, kill all remaining trivial uses of
common/{rlp,value}.go. The non-trivial ones have been updated earlier.
|
|
|
|
|
|
|
|
|
|
| |
The test chain generated by makeChainFork included invalid uncle
headers, crashing the generator during the state commit.
The headers were invalid because they used the iteration counter as the
block number, even though makeChainFork uses a block with number > 0 as
the parent. Fix this by introducing BlockGen.Number, which allows
accessing the actual number of the block being generated.
|
|\
| |
| | |
core: tx pool skip price validation for "owned" transactions
|
| | |
|
|/ |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| | |
core, eth, miner, xeth: clean up tx/receipt db accessors
|
| | |
|
|\ \
| |/
|/| |
eth/downloader: don't hang for spurious deliveries
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
State and receipt deliveries from a previous eth/62+ sync can hang if
the downloader has moved on to syncing with eth/61. Fix this by also
draining the eth/63 channels while waiting for eth/61 data.
A nicer solution would be to take care of the channels in a central
place, but that would involve a major rewrite.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Unexpected deliveries could block indefinitely if they arrived at the
right time. The fix is to ensure that the cancellation channel is
always closed when the sync ends, unblocking any deliveries. Also remove
the atomic check for whether a sync is currently running because it
doesn't help and can be misleading.
Cancelling always seems to break the tests though. The downloader
spawned d.process whenever new data arrived, making it somewhat hard to
track when block processing was actually done. Fix this by running
d.process in a dedicated goroutine that is tied to the lifecycle of the
sync. d.process gets notified of new work by the queue instead of being
invoked all the time. This removes a ton of weird workaround code,
including a hairy use of atomic CAS.
|
|/
|
|
|
|
|
|
|
|
|
|
| |
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).
|
|\
| |
| | |
eth: fix error casting regression during database open
|
| | |
|
|\ \
| |/
|/| |
eth/downloader: fix dysfunctional ignore list hidden by generic set
|
| | |
|
|\ \
| |/
|/| |
eth, p2p, rpc/api: polish protocol info gathering
|
| | |
|
|\ \
| | |
| | | |
eth: added new testnet peers
|
| |/ |
|
|\ \
| | |
| | | |
cmd/geth, cmd/utils, eth: group CLI flags by purpose
|
| | | |
|
|\ \ \
| |/ /
|/| | |
Fix for xeth OOM issue
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|/ |
|
|\
| |
| | |
rpc api: eth_getNatSpec
|
| |
| |
| |
| |
| |
| |
| |
| | |
* xeth, rpc: implement eth_getNatSpec for tx confirmations
* rename silly docserver -> httpclient
* eth/backend: httpclient now accessible via eth.Ethereum init-d via config.DocRoot
* cmd: introduce separate CLI flag for DocRoot (defaults to homedir)
* common/path: delete unused assetpath func, separate HomeDir func
|
|\ \
| |/
|/| |
eth, xeth: fix GasPriceOracle goroutine leak
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
XEth.gpo was being initialized as needed. WithState copies the XEth
struct including the gpo field. If gpo was nil at the time of the copy
and Call or Transact were invoked on it, an additional GPO listenLoop
would be spawned.
Move the lazy initialization to GasPriceOracle instead so the same GPO
instance is shared among all created XEths.
Fixes #1317
Might help with #1930
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* lines with leading space are ommitted from history
* exit processed even with whitespace around
* all whitespace lines (not only empty ones) are ignored
add 7 missing commands to admin api autocomplete
registrar: methods now return proper error if reg addresses are not set. fixes #1457
rpc/console: fix personal.newAccount() regression. Now all comms accept interactive password
registrar: add registrar tests for errors
crypto: catch AES decryption error on presale wallet import + fix error msg format. fixes #1580
CLI: improve error message when starting a second instance of geth. fixes #1564
cli/accounts: unlock multiple accounts. fixes #1785
* make unlocking multiple accounts work with inline <() fd
* passwdfile now correctly read only once
* improve logs
* fix CLI help text for unlocking
fix regression with docRoot / admin API
* docRoot/jspath passed to rpc/api ParseApis, which passes onto adminApi
* docRoot field for JS console in order to pass when RPC is (re)started
* improve flag desc for jspath
common/docserver: catch http errors from response
fix rpc/api tests
common/natspec: fix end to end test (skipped because takes 8s)
registrar: fix major regression:
* deploy registrars on frontier
* register HashsReg and UrlHint in GlobalRegistrar.
* set all 3 contract addresses in code
* zero out addresses first in tests
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| | |
core, eth/filters, miner, xeth: Optimised log filtering
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
|\ \
| | |
| | | |
all: Add GPU mining, disabled by default
|
| | | |
|
| |/
|/| |
|
| | |
|
| | |
|
|\ \
| |/
|/| |
core, core/vm: refactor
|
| |
| |
| |
| |
| |
| | |
* Renamed ChainManager to BlockChain
* Checkpointing is no longer required and never really properly worked
when the state was corrupted.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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`.
|
| |
| |
| |
| |
| |
| |
| | |
Moved the filtering system from `event` to `eth/filters` package and
removed the `core.Filter` object. The `filters.Filter` object now
requires a `common.Database` rather than a `eth.Backend` and invokes the
`core.GetBlockByX` directly rather than thru a "manager".
|
|/ |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|\
| |
| | |
core, eth, miner: use pure header validation
|
| | |
|
|\ \
| | |
| | | |
all: move common.Database to ethdb and add NewBatch
|
| | | |
|
| |/ |
|
| | |
|
|/ |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Dev mode enabled some debugging flags such as:
* VM debugging mode
* Simpler proof of work
* Whisper enabled by default
* Datadir to a tmp datadir
* Maxpeers set to 0
* Gas price of 0
* Random listen port
|
| |
|
|\
| |
| | |
eth: implement eth/62 synchronization logic
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
|/ |
|
| |
|
|\
| |
| | |
GPO update
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixed database merge strategy to use the correct database. Due to a copy
paste fail when doing type evaluation the same database was being
iterated (chain), all others were ignored.
Removed state prefixing because {H(code): code} is stored in the same
database as the rest of the state.
|
|/ |
|
|
|
|
|
| |
Implemented canonical extra data according to
https://github.com/ethereum/wiki/wiki/Extra-Data
|
| |
|
|
|
|
| |
Added a --olympic flag which initialiser the olympic protocol settings
|
| |
|
|\
| |
| | |
Etherbase defaults to first account even if it is created during the session
|
| | |
|
|\ \
| |/
|/| |
all: fix license headers one more time
|
| |
| |
| |
| | |
I forgot to update one instance of "go-ethereum" in commit 3f047be5a.
|
| | |
|
|\ \
| | |
| | | |
eth: set default miner extra to client name
|
| | | |
|
|/ /
| |
| |
| |
| |
| |
| | |
Genesis release. Closes #1402
Conflicts:
cmd/geth/main.go
|
|\|
| |
| | |
all: license fixes
|
| |
| |
| |
| |
| | |
All code outside of cmd/ is licensed as LGPL. The headers
now reflect this by calling the whole work "the go-ethereum library".
|
|/ |
|
|
|
|
|
| |
Implemented the --genesis flag thru which we can set a custom genesis
block, including the official Ethereum genesis block.
|
|\
| |
| | |
eth/downloader: drop peer if advertised TD but won't delvier
|
| | |
|
|\ \
| | |
| | | |
eth: calculate the correct TD, only update if better
|
| |/ |
|
|/ |
|
| |
|
| |
|
|\
| |
| | |
cmd,eth,rpc,tests: default coinbase
|
| | |
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* resolver -> common/registrar
* global registrar name registry interface
* add Call to resolver backend interface
* the hashReg and UrlHing contracts now initialised from global registry
* initialization of contracts uniform
* improve errors and more econsistent method names
* common/registrar/ethreg: versioned registrar
* integrate new naming and registrar in natspec
* js console api: setGlobalRegistrar, setHashReg, setUrlHint
* js test TestContract uses mining - tests fixed all pass
* eth/backend: allow PoW test mode (small ethash DAG)
* console jsre refers to resolver.abi/addr,
* cmd/geth/contracts.go moved to common/registrar
|
|
|
|
| |
Added some additional backward compatibility code for old receipts
|
|\
| |
| | |
Account management improvements
|
| |
| |
| |
| | |
risky given it is inconsistent if keys are imported/merged/created or copied/transfered
|
| |
| |
| |
| |
| |
| |
| | |
* multiple passwords allowed in password file
* split on "\n", sideeffect: chop trailing slashes. fixes common mistake <(echo 'pass')
* remove accounts.Primary method
* do not fall back to primary account for mining
|
| |
| |
| |
| |
| | |
* Added GetReceiptsFromBlock, GetReceipt, PutReceipts
* Added ContractAddress to receipt. See #1042
|
| |
| |
| |
| |
| |
| |
| |
| | |
* Miners do now verify their own header, not their state.
* Changed old putTx and putReceipts to be exported
* Moved writing of transactions and receipts out of the block processer
in to the chain manager. Closes #1386
* Miner post ChainHeadEvent & ChainEvent. Closes #1388
|
|/ |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|