Roman Khimov
ca0ff47c05
update dbft, pick timer improvements and other optimizations
2020-09-25 23:06:23 +03:00
Evgenii Stratonikov
43f986d24d
go.mod: update dbft version
2020-08-14 12:47:45 +03:00
Roman Khimov
56b2a16389
*: use proper YAML library import path, fix #1306
2020-08-12 16:26:41 +03:00
Roman Khimov
253c39d4ee
consensus: move stateroot message generation to commit phase
...
* update dbft library, change to 64-bit timestamps and CV reason
* modify messages
* generate stateroot witness data from prepare* messages during commit
Fix #1273 .
2020-08-10 16:48:05 +03:00
Roman Khimov
bb4385ca50
drop support for Go 1.12
...
It's old and not maintained. Use latest Go for builds and test only with 1.13
and 1.14.
2020-08-07 12:25:45 +03:00
Roman Khimov
86110445a6
consensus: update dbft library
...
Pick up the following changes:
* recovery message sending fix
* tx re-requests on sendRecoveryRequest
* proposed block checks fix
* timeout calculation fix for InitializeConsensus
* removal of TxPerBlock which is irrelevant for neo-go (policying is done by
the node, not dbft library)
2020-06-24 13:39:12 +03:00
Evgenii Stratonikov
8614867439
consensus: verify state root in PrepareRequest
...
Fixes #1042 .
2020-06-11 10:18:12 +03:00
Roman Khimov
37173bcf22
update dbft library
...
Include logging updates and LastSeenMessages fix.
2020-06-10 11:45:51 +03:00
Roman Khimov
baafa30266
Merge pull request #1006 from nspcc-dev/interop/crypto
...
core: implement key recover interops
2020-06-03 14:39:44 +03:00
Anna Shaleva
6c06bc57cc
core: implement key recover interops
...
Implement secp256k1 and secp256r1 recover interops, closes #1003 .
Note:
We have to implement Koblitz-related math to recover keys properly
with Neo.Cryptography.Secp256k1Recover interop as far as standard
go elliptic package supports short-form Weierstrass curve with a=-3
only (see https://github.com/golang/go/issues/26776 for details).
However, it's not the best choise to have a lot of such math in our
project, so it would be better to use ready-made solution for
Koblitz-related cryptography.
2020-06-03 14:36:04 +03:00
Roman Khimov
e4f413aa29
consensus: update dbft to include CountFailed and RecoveryMessage changes
...
dbft interface changed a little also because of Neo 3 changes, but it still is
compatible with Neo 2.
2020-06-02 11:12:47 +03:00
Roman Khimov
24b46c6041
rpc/server: add websockets support via '/ws' URL
2020-04-30 17:53:28 +03:00
Evgenii Stratonikov
51512c73ed
*: go mod tidy
...
Add `github.com/dgraph-io/badger` in go.mod .
2020-04-10 15:52:34 +03:00
Evgenii Stratonikov
fcc4877f43
go.mod: update boltdb to v1.3.4
...
Also import lib as declared in it's go.mod:
via `go.etcd.io/bbolt`.
2020-03-25 17:07:54 +03:00
Roman Khimov
9b04623edf
go.mod: fix dbft version, previous commit was wiped during "merge"
...
It wasn't really a merge, but rather rebase and ff-push.
2020-03-04 19:32:15 +03:00
Roman Khimov
3af28e1de4
go.mod: update dbft to smth compatible with nspcc-dev/neo-go
2020-03-03 17:31:09 +03:00
Roman Khimov
e41d434a49
*: move all packages from CityOfZion to nspcc-dev
2020-03-03 17:21:42 +03:00
Roman Khimov
36773816d5
go.mod: update dbft with nspcc-dev/dbft#26
2020-02-19 14:46:51 +03:00
Roman Khimov
4299d1cf1b
update dbft package with nspcc-dev/dbft#25
2020-02-19 12:19:02 +03:00
Roman Khimov
d3badc3f97
consensus: log more like neo-cli, update dbft
2020-02-11 18:02:13 +03:00
Roman Khimov
916b54fd60
go.mod: update dbft library, fix #634 and other problems
2020-02-04 13:16:09 +03:00
Evgenii Stratonikov
3d99b10d5e
consensus: update dbft version
2020-01-30 13:57:21 +03:00
Evgenii Stratonikov
55d98ab19a
consensus: update keys from wallet after every block
2020-01-17 17:30:45 +03:00
Roman Khimov
e2fff3bb1d
keys: update to newer rfc6979 package
...
Fixes #592 .
2020-01-16 18:21:10 +03:00
Evgenii Stratonikov
4d56fde98a
consensus: update dbft version
2020-01-13 15:13:58 +03:00
Evgenii Stratonikov
289cb1c1d9
rpc: use zap.Logger
2020-01-10 11:14:29 +03:00
Evgenii Stratonikov
07b88796fb
consensus: update dbft version
2019-12-13 11:28:57 +03:00
Evgenii Stratonikov
0e1621a0da
go.mod: update dbft and tidy
2019-12-09 15:03:38 +03:00
Evgenii Stratonikov
765c354793
consensus: return signed messages from recovery.Get*
2019-12-06 11:33:32 +03:00
Vsevolod Brekelov
8ce2ca93a9
mod: remove unused deps
2019-12-04 12:38:24 +03:00
Roman Khimov
c8aa061421
cli/wallet: use more secure way to read passwords
...
They were printed in plaintext, believe it or not. Also, `ssh/terminal` does
some proper magic to really read something from the terminal.
2019-12-03 20:04:52 +03:00
Evgenii Stratonikov
fdd5276d3e
network: plug in dBFT library
2019-11-27 10:57:22 +03:00
Vsevolod Brekelov
1c08753915
gomod: fix
2019-11-06 15:56:24 +03:00
Roman Khimov
b46dd295bc
rpc: add CORS workaround for RPC
...
This one enables our RPC to be called from the browser if there is a
need. It's insecure and not standards-compliant, thus this behaviour is
configurable is not enabled by default. It makes our node with this workaround
enabled compatible with neo-mon monitoring.
Originally debugged by @anatoly-bogatyrev in #464 .
2019-11-01 13:39:47 +03:00
Vsevolod Brekelov
d374175170
monitoring: add prometheus monitoring
...
add init metrics service which uses prometheus;
add configuration for metrics service;
add monitoring metrics for blockchain,rpc,server;
2019-10-29 20:51:17 +03:00
Evgenii Stratonikov
c31ba8f8b2
Add minimum go version to go.mod
2019-10-17 11:30:52 +03:00
Roman Khimov
c531dc0bde
network: add block queue
...
This one will replace blockCache in Blockchain itself as it can and should be
external from it. The idea is that we only feed successive blocks into the
Blockchain and it only stores valid proper Blockchain and nothing else.
2019-09-27 13:00:09 +03:00
Roman Khimov
aa0c765be9
go.mod/sum: update and tidy
2019-09-17 15:31:59 +03:00
Vsevolod Brekelov
bfe5fd538e
storage: add boltDB support
...
closes #335
2019-09-14 10:28:43 +03:00
Roman Khimov
e872b6b421
vm/cli: redo the whole thing using abiosoft/ishell
...
Adds history support, better editing and way better help system. Expand on
some helps while at it.
2019-09-10 23:31:06 +03:00
Vsevolod Brekelov
4f680703a4
storage: multiple DB support and Redis support
...
add config which closes #336
add redis db support
2019-09-10 17:22:21 +03:00
Roman Khimov
8db9d2a976
crypto: use mr-tron/base58 for base58
...
Use more fast and reliable implementation. Add some tests for our wrappers,
deduplicate code in PublicKey.Adress(). Fixes #355 .
2019-09-09 13:12:55 +03:00
Evgeniy Kulikov
78cf3e9c5f
Use our RFC6979 fork
...
- prepare fork
- update go-modules
- update dependencies
2019-08-27 13:07:02 +03:00
Evgeniy Kulikov
763452fe33
Fix #130 : Wrong answer for RPC server method getaccountstate ( #131 )
...
* Fix #130 : Wrong answer for RPC server method getaccountstate
- fixed RPC Server response
- fixed RPC Server tests
- remove unused package from go.mod
* add index and type checker
* fix review comments (thx @aprasolova)
2019-02-13 18:01:52 +00:00
Anastasia Prasolova
a058598ecc
Parse stack params ( #119 )
...
* small fixes
* gofmt
* bytearray parsing
* tests
* removed unnecessary files
* added more types for bytearray
* iter
* made TryParseArray parameter variadic
* fixes after review
* fix after review
* misprints
* updated array reverse
* imports/fmt
* naming
2019-02-05 13:22:10 +01:00
Evgeniy Kulikov
6ccb518ab0
Optimizations + some improvements ( #105 )
...
* Optimizations + some improvements
- optimized pkg/core/storage.HeaderHashes
- optimized pkg/rpc.performRequest (used json.Encoder)
- fixes for pkg/util.ReadVarUint and pkg/util.WriteVarUint
- optimized and fix fixed8 (Fixed8DecodeString / MarshalJSON) + tests
- optimized and fix uint160 (Bytes / Uint160DecodeString / Equal / MarshalJSON) + tests
- optimized and fix uint256 (Bytes / Equal / MarshalJSON) + tests
- preallocate for pkg/vm.buildStackOutput
- add go.mod / go.sum
* update version
2018-11-26 16:56:45 +01:00