Felföldi Zsolt
1bdde620da
les: fix light fetcher database race ( #16103 )
...
* les: fix light fetcher database race
* les: lightFetcher comments
2018-02-19 10:41:30 +02:00
Felföldi Zsolt
8d32c4b990
light: new CHTs ( #16074 )
2018-02-12 18:03:17 +02:00
Felföldi Zsolt
2f849ade82
les: fix server panic when discovery disabled ( #16055 )
2018-02-10 14:33:52 +02:00
Felföldi Zsolt
c4712bf96b
p2p/discv5: fix multiple discovery issues ( #16036 )
...
* p2p/discv5: add query delay, fix node address update logic, retry refresh if empty
* p2p/discv5: remove unnecessary ping before topic query
* p2p/discv5: do not filter local address from topicNodes
* p2p/discv5: remove canQuery()
* p2p/discv5: gofmt
2018-02-08 19:06:31 +02:00
Felföldi Zsolt
c3f238dd53
les: limit LES peer count and improve peer configuration logic ( #16010 )
...
* les: limit number of LES connections
* eth, cmd/utils: light vs max peer configuration logic
2018-02-05 15:41:53 +02:00
Felföldi Zsolt
6198c53e28
p2p/discv5: fix removeTicketRef cached ticket removal ( #15995 )
2018-01-30 18:01:22 +02:00
Felföldi Zsolt
23bca0f374
les: fix TxStatusMsg RLP coding ( #15974 )
2018-01-26 19:30:45 +02:00
Felföldi Zsolt
c335821479
cmd, params: update discovery v5 bootnodes ( #15954 )
2018-01-25 12:25:00 +02:00
Felföldi Zsolt
ec96216d16
Chain indexer fix + new CHT ( #15934 )
...
* core, light: fix chain indexer bug
* light: add new CHT
2018-01-23 13:10:49 +02:00
Felföldi Zsolt
397c6cde1e
p2p/discv5: fix topic register panic at shutdown ( #15946 )
2018-01-23 12:53:09 +02:00
Felföldi Zsolt
92580d69d3
p2p, p2p/discover, p2p/discv5: implement UDP port sharing ( #15200 )
...
This commit affects p2p/discv5 "topic discovery" by running it on
the same UDP port where the old discovery works. This is realized
by giving an "unhandled" packet channel to the old v4 discovery
packet handler where all invalid packets are sent. These packets
are then processed by v5. v5 packets are always invalid when
interpreted by v4 and vice versa. This is ensured by adding one
to the first byte of the packet hash in v5 packets.
DiscoveryV5Bootnodes is also changed to point to new bootnodes
that are implementing the changed packet format with modified
hash. Existing and new v5 bootnodes are both running on different
ports ATM.
2018-01-22 13:38:34 +01:00
Felföldi Zsolt
83d1657444
les: fix les/1 CHT compatibility issue ( #15692 )
2018-01-09 11:41:59 +01:00
Zsolt Felfoldi
48648bc2f8
contracts/release: do not print error log if les backend has no peers
2017-12-18 16:26:17 +01:00
Felföldi Zsolt
8d434f6a6f
les, core/bloombits: post-LES/2 fixes ( #15391 )
...
* les: fix topic ID
* core/bloombits: fix interface conversion
2017-10-27 17:18:53 +03:00
Felföldi Zsolt
ca376ead88
les, light: LES/2 protocol version ( #14970 )
...
This PR implements the new LES protocol version extensions:
* new and more efficient Merkle proofs reply format (when replying to
a multiple Merkle proofs request, we just send a single set of trie
nodes containing all necessary nodes)
* BBT (BloomBitsTrie) works similarly to the existing CHT and contains
the bloombits search data to speed up log searches
* GetTxStatusMsg returns the inclusion position or the
pending/queued/unknown state of a transaction referenced by hash
* an optional signature of new block data (number/hash/td) can be
included in AnnounceMsg to provide an option for "very light
clients" (mobile/embedded devices) to skip expensive Ethash check
and accept multiple signatures of somewhat trusted servers (still a
lot better than trusting a single server completely and retrieving
everything through RPC). The new client mode is not implemented in
this PR, just the protocol extension.
2017-10-24 15:19:09 +02:00
Zsolt Felfoldi
7a7f6a4f29
light: new CHTs for mainnet and ropsten
2017-09-11 23:36:16 +02:00
Zsolt Felfoldi
451ffdb62b
core/bloombits: use general filters instead of addresses and topics
2017-09-06 11:14:21 +03:00
Zsolt Felfoldi
6ff2c02991
core/bloombits: AddBloom index parameter and fixes variable names
2017-09-06 11:14:20 +03:00
Zsolt Felfoldi
4ea4d2dc34
core, eth: add bloombit indexer, filter based on it
2017-09-06 11:13:13 +03:00
Felföldi Zsolt
fff6e03a79
les: fix megacheck warnings ( #14941 )
...
* les: fix megacheck warnings
* les: fixed testGetProofs
2017-08-08 19:31:08 +03:00
Zsolt Felfoldi
bd74882d83
core: implement ChainIndexer
2017-08-07 17:37:08 +03:00
Felföldi Zsolt
a5d08c893d
les: code refactoring ( #14416 )
...
This commit does various code refactorings:
- generalizes and moves the request retrieval/timeout/resend logic out of LesOdr
(will be used by a subsequent PR)
- reworks the peer management logic so that all services can register with
peerSet to get notified about added/dropped peers (also gets rid of the ugly
getAllPeers callback in requestDistributor)
- moves peerSet, LesOdr, requestDistributor and retrieveManager initialization
out of ProtocolManager because I believe they do not really belong there and the
whole init process was ugly and ad-hoc
2017-06-21 12:27:38 +02:00
Zsolt Felfoldi
fd5d51c9ae
common/bitutil: added data compression algorithm
2017-05-05 20:24:48 +02:00
Felföldi Zsolt
18bbe12425
les: allow LES connection to other servers ( #13889 )
2017-04-11 01:23:39 +02:00
Felföldi Zsolt
9aca9e6deb
cmd, les, eth, eth/gasprice: using new gas price oracle ( #13853 )
...
* cmd, les, eth, eth/gasprice: using new gas price oracle
* eth/gasprice: renamed source file
* eth/gasprice: added security checks for gpo params
* eth/gasprice: fixed naming issues
* eth/gasprice: max limit, maxEmpty
2017-04-06 17:20:42 +03:00
Felföldi Zsolt
525116dbff
les: implement request distributor, fix blocking issues ( #3660 )
...
* les: implement request distributor, fix blocking issues
* core: moved header validation before chain mutex lock
2017-03-22 20:44:22 +01:00
Zsolt Felfoldi
0a01f3f607
light: added new CHT
2017-03-14 16:59:42 +02:00
Zsolt Felfoldi
a390ca5f30
les, cmd/util: disable topic discovery with --nodiscover
2017-01-27 02:52:45 +01:00
Zsolt Felfoldi
12379c697a
les: remove delayed les server starting
2017-01-26 04:23:53 +01:00
Zsolt Felfoldi
f5348e17f8
les: add unknown peers to server pool instead of rejecting them
2017-01-26 04:23:49 +01:00
Felföldi Zsolt
0fa9a8929c
les: fixed transaction sending deadlock ( #3568 )
2017-01-16 10:51:29 +01:00
Zsolt Felfoldi
66979aa468
light: fixed data race in TestTxPool
2017-01-06 04:34:35 +01:00
Zsolt Felfoldi
93f9c023cc
les: fixed selectPeer deadlock, improved request distribution
...
les/flowcontrol: using proper types for relative and absolute times
2017-01-06 04:34:31 +01:00
Zsolt Felfoldi
f12f8a6c14
les, light: add block availability check for ODR requests
2016-12-10 09:53:25 +01:00
Zsolt Felfoldi
c57c54ce96
eth, les: defer starting LES service until ETH initial sync is finished
2016-12-10 09:53:25 +01:00
Zsolt Felfoldi
c8130df1d9
les: using random request IDs
2016-12-10 09:53:25 +01:00
Zsolt Felfoldi
af8a742d00
les: improved header fetcher and server statistics
2016-12-10 09:53:08 +01:00
Zsolt Felfoldi
e67500aa15
les: fixed light fetcher request ID matching
2016-12-08 13:38:15 +01:00
Zsolt Felfoldi
a6d3bf6fc3
p2p/discv5: search and lookup improvement
2016-12-08 13:38:15 +01:00
Zsolt Felfoldi
3e617f3cd6
les: implement light server pool
2016-12-08 13:38:15 +01:00
Felföldi Zsolt
665bb43a4c
light: implemented VMState.Empty() ( #3357 )
2016-11-28 11:31:15 +01:00
Zsolt Felfoldi
b10bcd924b
core/types: turn off nonce checking for Call messages
2016-11-14 14:16:06 +01:00
Zsolt Felfoldi
d8e2e9a41f
light: updated CHTs for mainnet and testnet
2016-11-14 13:22:19 +01:00
Zsolt Felfoldi
1f70b279ba
p2p/discv5: added new bootnodes
2016-11-14 13:22:19 +01:00
Zsolt Felfoldi
e33e57684f
p2p/discv5: fixed bootnode connect issues
2016-11-14 13:22:19 +01:00
Zsolt Felfoldi
a0c6649960
les/flowcontrol: fixed locking scheme
2016-11-14 13:22:19 +01:00
Zsolt Felfoldi
323c2d6775
les: add missing nil check and handle quit in findServers
2016-11-11 03:16:46 +01:00
Zsolt Felfoldi
09baeec0da
discv5: fixed state machine lockup bug
2016-11-11 03:10:46 +01:00
Zsolt Felfoldi
49da42983a
p2p/discv5: added new topic discovery package
2016-11-09 02:12:53 +01:00
zsfelfoldi
7db7109a5b
cmd, eth: added light client and light server modes
2016-11-09 02:12:53 +01:00
Zsolt Felfoldi
9f8d192991
les: light client protocol and API
2016-11-09 02:12:53 +01:00
Zsolt Felfoldi
760fd65487
light: light chain, VM env and tx pool
2016-11-09 02:12:53 +01:00
zsfelfoldi
56efed71b5
eth: fixed chaindb upgrade
2016-07-19 14:32:38 +02:00
zsfelfoldi
00787fe781
core: added CheckNonce() to Message interface
2016-07-11 12:35:23 +02:00
zsfelfoldi
3a97280ae8
eth: separate common and full node-specific API and backend service
2016-06-16 17:36:38 +02:00
zsfelfoldi
f9917c8c7b
core: improved chainDb using sequential keys
2016-06-07 16:38:56 +02:00
zsfelfoldi
5a458da42a
core: chain read/write speed benchmarks
2016-06-06 14:38:28 +02:00
zsfelfoldi
73d21ea6af
core: create a header chain structure shared by core.BlockChain and light.LightChain
2016-03-10 14:57:32 +01:00
zsfelfoldi
ef422ee1e1
light: implemented odr-capable trie and state structures
2015-12-17 16:07:54 +01:00
zsfelfoldi
f3aac71fad
rpc/v2: optionally passing context argument to rpc v2 api methods
2015-12-16 03:48:08 +01:00
zsfelfoldi
975c591261
core: tx pool skip price validation for "owned" transactions
2015-12-16 03:21:17 +01:00
zsfelfoldi
52904ae32f
trie: added error handling
...
Created alternate versions of Trie and SecureTrie functions that can return a MissingNodeError (used by ODR services)
2015-12-01 01:38:32 +01:00
zsfelfoldi
49ece3155c
GPO update
2015-08-17 15:20:33 +02:00
zsfelfoldi
5d9df7348d
gpo non-existent block checks
2015-06-29 18:53:04 +02:00
zsfelfoldi
1e3f4877c0
Changed miner and gpo min gas price to 1 szabo
2015-06-15 16:48:59 +02:00
zsfelfoldi
b42b70eb5f
fixed rpc/api.GasPrice
2015-06-15 15:55:39 +02:00
zsfelfoldi
610adfd83f
fixed xeth.gpo = nil bug
2015-06-15 15:55:39 +02:00
zsfelfoldi
3c7b64ce20
removed duplicate function after rebase
2015-06-15 15:55:39 +02:00
zsfelfoldi
a977cecbe4
fixed gas price corr. factor
2015-06-15 15:55:38 +02:00
zsfelfoldi
6e212bdc6d
fallback for uninitialized GPO config values
2015-06-15 15:55:38 +02:00
zsfelfoldi
2e8016c80d
fixed initial base price bug
2015-06-15 15:55:38 +02:00
zsfelfoldi
0930e190a7
added missing source
2015-06-15 15:55:38 +02:00
zsfelfoldi
3f94d09c1f
fixed saving receipts
2015-06-15 15:55:38 +02:00
zsfelfoldi
00ec4132f8
Storing tx receipts in extraDb
2015-05-20 06:41:50 +02:00
zsfelfoldi
d7dabce732
ToVal serialization fix
2015-05-08 13:29:48 +02:00
zsfelfoldi
1de1359e3b
Otto.ToValue concurrency error fixed
2015-05-08 12:27:35 +02:00
zsfelfoldi
c54d123b31
setTimeout and sendAsync implemented
...
added and eval queue for serializing JSRE vm execution
2015-05-06 15:58:27 +02:00
zsfelfoldi
e9874cbcc1
fixed resolver test
2015-04-19 20:57:50 +01:00
zsfelfoldi
929428d602
URLhint support for URLs longer than 32 bytes
2015-04-19 20:57:49 +01:00
zsfelfoldi
b6fe9e0c83
added missing source file
2015-04-19 20:57:49 +01:00
zsfelfoldi
bb793c829f
fixed incomplete merge
2015-04-19 20:57:49 +01: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
f255336c2c
utils linked to natspec notice eval, test notice now using utils.toHex()
2015-04-19 20:57:49 +01:00
zsfelfoldi
c4b7d4d3f7
NatSpec cli option, resolver tests passing
2015-04-19 20:57:49 +01:00
zsfelfoldi
b46e152171
default fallback NatSpec messages
2015-04-19 20:57:49 +01:00
zsfelfoldi
8e6a068d2d
natspec test bugfix
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
94489b2269
s
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
zsfelfoldi
3136bae4a5
NatSpec, URL register storage retrieval
...
fixed 2/3 tests
2015-04-19 20:57:48 +01:00
zsfelfoldi
85acdadcfa
fixed jsre test
2015-03-20 13:48:23 +01:00
zsfelfoldi
8324b683b4
using robertkrimen/otto, godeps updated
2015-03-20 13:22:01 +01:00
Fefe
e157147253
Now using github.com/obscuren/otto, no need for an Ethereum object
...
(got rid of some messy code in test)
2015-03-06 18:54:26 +01:00
Fefe
b67ded9f27
Natspec + test
2015-03-06 03:43:34 +01:00