Roman Khimov
1b83dc2476
*: improve for loop syntax
...
Mostly it's about Go 1.22+ syntax with ranging over integers, but it also
prefers ranging over slices where possible (it makes code a little better to
read).
Notice that we have a number of dangerous loops where slices are mutated
during loop execution, many of these can't be converted since we need proper
length evalutation at every iteration.
Signed-off-by: Roman Khimov <roman@nspcc.ru>
2024-08-30 21:45:18 +03:00
Roman Khimov
8f45d57612
*: stop using math/rand
...
Mostly this switches to math/rand/v2, but sometimes randomness is not really needed.
Signed-off-by: Roman Khimov <roman@nspcc.ru>
2024-08-30 17:00:11 +03:00
Evgeniy Stratonikov
34b1b52784
network: check compressed payload size in decompress
...
Signed-off-by: Evgeniy Stratonikov <evgeniy@nspcc.ru>
2022-03-24 17:22:55 +03:00
Anna Shaleva
d67ff30704
core: implement statesync module
...
And support GetMPTData and MPTData P2P commands.
2021-09-07 19:43:27 +03:00
Evgeniy Stratonikov
c74de9a579
network: preallocate buffer for message
...
```
name old time/op new time/op delta
MessageBytes-8 740ns ± 0% 684ns ± 2% -7.58% (p=0.000 n=10+10)
name old alloc/op new alloc/op delta
MessageBytes-8 1.39kB ± 0% 1.20kB ± 0% -13.79% (p=0.000 n=10+10)
name old allocs/op new allocs/op delta
MessageBytes-8 11.0 ± 0% 10.0 ± 0% -9.09% (p=0.000 n=10+10)
```
Signed-off-by: Evgeniy Stratonikov <evgeniy@nspcc.ru>
2021-08-10 09:33:52 +03:00
Roman Khimov
0888cf9ed2
network: drop Network from Message
...
It's not used any more.
2021-03-26 13:45:18 +03:00
Roman Khimov
95c279325a
block: drop Network from the Header
...
It's not network-tied any more, network is only needed to
sign/verify. Unfortunately we still have to keep network in consensus data
structures because of dbft library interface.
2021-03-26 13:45:18 +03:00
Roman Khimov
d314f82db3
transaction: drop Network from Transaction
...
We only need it when signing/verifying.
2021-03-26 13:45:18 +03:00
Evgeniy Stratonikov
f83b376181
block: replace Base
with Header
2021-03-10 13:38:44 +03:00
Anna Shaleva
a6d4a266b9
core: check transaction's scripts length during decoding
2021-02-17 13:19:23 +03:00
Evgeniy Stratonikov
5d83c28bc9
network: replace ConsensusType
with ExtensibleType
2021-01-22 10:38:33 +03:00
Evgenii Stratonikov
27624946d9
network/test: add tests for server commands
2020-12-09 15:23:49 +03:00
Evgenii Stratonikov
6451a4bed3
network/test: add tests for Message
serialization
2020-12-04 15:16:29 +03:00
Evgenii Stratonikov
7d91a3a89e
pkg: move internal/ package to the root directory
...
This way we can use it in scripts and cli.
2020-11-24 16:39:56 +03:00
Anna Shaleva
1dffe0bea9
network: remove outdated fields
...
After #980 there were outdated fields present in message test.
2020-05-27 19:32:50 +03:00
Anna Shaleva
0cbd7823ab
protocol: add payload compression
...
closes #872
2020-05-26 22:19:10 +03:00
Anthony De Meulemeester
aa4bc1b6e8
Node improvements ( #47 )
...
* block partial persist
* replaced refactored files with old one.
* removed gokit/log from deps
* Tweaks to not overburden remote nodes with getheaders/getblocks
* Changed Transporter interface to not take the server as argument due to a cause of race warning from the compiler
* started server test suite
* more test + return errors from message handlers
* removed --race from build
* Little improvements.
2018-03-14 10:36:59 +01:00
Anthony De Meulemeester
4023661cf1
Refactor of the Go node ( #44 )
...
* added headersOp for safely processing headers
* Better handling of protocol messages.
* housekeeping + cleanup tests
* Added more blockchain logic + unit tests
* fixed unreachable error.
* added structured logging for all (node) components.
* added relay flag + bumped version
2018-03-09 16:55:25 +01:00
Charlie Revett
dd94086a22
CircleCI 2 & Releases ( #9 )
2018-02-01 10:54:23 -08:00
anthdm
0c9d2dd04e
Block message + handle the length of the user agent better.
2018-01-31 09:27:08 +01:00
anthdm
6f08d967ba
added basic checksum test. + fix travis build
2018-01-29 08:42:49 +01:00
anthdm
d7826a4d43
wip implement inv command
2018-01-27 16:47:43 +01:00
anthdm
754a473488
wip refact 2
2018-01-27 16:00:28 +01:00
anthdm
98a6831d6a
extended message test.
2018-01-26 21:43:07 +01:00
anthdm
536a499236
initial commit.
2018-01-26 19:04:13 +01:00