Grégoire Henry
bbf5c7408b
Shell/RPC: split out Monitor_services
2018-06-06 10:54:33 +02:00
Grégoire Henry
0b08dce3e8
Shell/RPC: move preapply_operation
into Block_services
2018-06-06 10:54:33 +02:00
Grégoire Henry
d6f79edae2
Shell/RPC: rework /blocks
...
- start using `GET` and query parameters instead of `POST` when
meaningful
- inline parsed protocol data and metadata in block headers
- inline parsed protocol data and metadata in operations
- split the RPC in four categories:
- static data, available explicitly in block headers and operations
- static "metadata", information that were computed while validating
a block or an operation, but which are not explicit in the block
header (e.g. the baker of a block, the list of internal
transfer... (currently not implemented, but that's WIP))
- "context" all the static data we may read in the context
(contracts balance, list of delegates, ...)
- "helpers" are some RPC that may perform some computation.
2018-06-06 10:54:33 +02:00
Grégoire Henry
95a56753df
P2p: store connection_local_metadata
in P2p_connection.Info.t
2018-06-05 13:51:25 +02:00
Grégoire Henry
e610fcaade
P2p: read connection metadata before to accept connections
...
This will allow to decide whether to accept a connection or not
depending on its actual metadata.
2018-06-05 13:51:20 +02:00
OCamlPro-Iguernlala
4a16b3ef0b
P2p: add "private node" information in Connection_metadata.
...
Add private_node flag in Connection_metadata.t and update Node,
Distributed_db, P2p and P2p_pool to propagate the information
2018-06-05 13:40:00 +02:00
michael
aedf867e4a
RPC: Add conn_metadata to peer_info rpcs
2018-06-04 15:55:41 +02:00
michael
df4e474577
Shell: disable prevalidator if disable-mempool is used
2018-06-04 15:39:42 +02:00
michael
d5925f088c
P2p: Add option to disable the mempool
...
This allows a node to specify that it doesn't want to receive operations
that are not included in a block. To do so, one should use the new
--disable-mempool option.
A disabled mempool node announce its configuration during the ACK exchange.
This configuration should be easily expandable with other options.
Node will keep track of the ack exchange configuration for each nodes it
is connected to and will not propagate its mempool to disabled mempool
nodes.
A disabled mempool node will ignore non-empty mempool received.
In the future, this incident should be punish by a decrement of its score
and / or ban.
2018-06-04 15:35:22 +02:00
michael
a8e607a5a9
Shell: preliminary work for ack_cfg exchange
2018-06-01 16:25:43 +00:00
Grégoire Henry
d7e5ca81e4
Shell: store metadata for block header and operations
2018-06-01 16:20:10 +02:00
Grégoire Henry
fc26022cd2
Proto: associate metadata
to valid block headers and operations
2018-06-01 16:20:10 +02:00
Grégoire Henry
c85e27605b
Proto: export Data_encoding.t
for block headers and operationss
...
Previously we were only exporting parsing function. This will allow
to move out of the protocol some `helpers` RPCs.
2018-06-01 16:20:10 +02:00
James Deikun
afa335ff48
move module-specific logging to the modules that use it
2018-05-31 17:05:00 -04:00
Grégoire Henry
0d8990887c
Jbuilder: fix the target @runtest_indent
2018-05-26 20:08:03 +02:00
michael
3f1363b9ba
P2P/Shell: Split metadata into peer_metadata and conn_metadata
...
Peer_metadata is meant to keep track of peer's score.
Conn_metadata is meant to keep track of connection configuration given
during Ack exchange.
2018-05-25 11:39:22 +02:00
Grégoire Henry
5023e1a261
Data_encoding: rename Binary.to_bytes
into to_bytes_exn
2018-05-24 15:43:15 +00:00
Vincent Bernardoff
b3df4e63c8
[P2P] ACLs: cosmetics, renamings, comments
2018-05-03 16:03:01 +02:00
Pietro
02838a4cbc
p2p,node,client: Add Greylists
...
- add admin commands to ban and unban ips and peers
- add greylist_timeout option to configuration file (node)
- Add greylist modules + RPC
2018-05-03 16:03:01 +02:00
Grégoire Henry
c9eab8689a
Shell/Distributed_db: tune requests delay
2018-05-03 11:51:29 +02:00
Grégoire Henry
f2db5ffde3
Shell/Bootstrap: improve network paralellism
2018-05-03 11:51:29 +02:00
Grégoire Henry
6e4b2eab47
Shell: reduce default logging a little bit
2018-05-03 11:51:29 +02:00
Grégoire Henry
c3eda23b45
Shell: add a global watcher for new valid blocks in State
2018-04-22 13:46:31 +02:00
Grégoire Henry
bc9179094f
Shell: store mainchain and testchain in State
2018-04-22 13:41:26 +02:00
Grégoire Henry
dbe4a20d4a
Reset the chain
2018-04-17 13:46:23 +02:00
Pietro
80cdf6d0b3
Shell: A bit of randomization for gap in block locators.
...
The random seed is computed from the sender and receiver `peer_id`.
2018-04-07 18:29:02 +02:00
Grégoire Henry
9ffead02d2
Shell: simplify hash signatures
2018-04-06 11:56:32 +02:00
Arthur B
21efb2dc9d
Jbuilder: update to beta.19.1
2018-04-06 11:47:22 +02:00
Grégoire Henry
bf32659a6b
Proto/Env: Replace configure_sandbox
by proper init
2018-04-06 11:40:34 +02:00
Grégoire Henry
38c7453edf
Shell/RPC: allow /blocks/<hash>~n/...
...
This allows to query the `n`-th predecessor of block `<hash>`.
2018-03-30 00:45:22 +02:00
Mathias Bourgoin
fcdf36acd4
Shell/RPC: remove the fake block /blocks/prevalidation
...
Add a `/mempool/pending_operations`
2018-03-30 00:44:58 +02:00
bruno
bdf6a5e564
General: update jbuilder to 1.0+beta19
2018-03-20 06:49:52 +01:00
Grégoire Henry
c5792cd7f0
Shell: remove outdated operation on new blocks
2018-03-20 06:49:52 +01:00
Benjamin Canou
dabf4c1578
Fix alphanet_constants.patch
and reset the chain
2018-03-18 18:36:56 +01:00
Grégoire Henry
5ac629f335
More renaming registred
-> registered
2018-03-16 18:38:41 +01:00
Grégoire Henry
4e9fd509b3
Proto: export the 'last_allowed_fork_level'.
...
The should ignore all branch forking at a block whose level
is lower than the 'last_allowed_fork_level' of the current head.
2018-03-15 21:48:16 +01:00
bruno
8713ae36f6
General: s/registred/registered/
2018-03-13 16:29:02 +00:00
Benjamin Canou
d00724ea13
Fix alphanet_constant.patch and reset the chain
2018-03-09 14:17:18 +01:00
Grégoire Henry
76a59af376
Opam: use jbuilder.1.0.0-beta18
2018-03-08 14:38:57 +01:00
Grégoire Henry
f926cfc0ac
Reset the chain
2018-03-08 07:08:24 +01:00
Grégoire Henry
cdeff6d3ca
Fix 'script/reset_chain.sh'
2018-03-08 07:07:59 +01:00
Grégoire Henry
5d99c7c0ae
Reset the chain
2018-03-07 18:39:23 +01:00
Grégoire Henry
ad330db7e1
Opam: require jbuilder = 1.0.0-beta17
2018-03-07 18:12:12 +01:00
Benjamin Canou
8a6deca8a0
Shell: simplify operation injecion error handling
2018-03-01 10:33:42 +01:00
Benjamin Canou
8eee1c7a9c
Node: cleanup logging of shell workers
2018-02-26 16:08:04 +01:00
Benjamin Canou
40a26759fc
Node: fix error handling in block validator
2018-02-26 16:08:04 +01:00
bruno
1171340a9f
Shell: move shell errors into shell services
...
Allows the client to display shell errors properly.
Also adds some missing registrations, documentation and comments.
2018-02-26 15:52:36 +01:00
Marco Stronati
d1c1ced970
Shell: added rpc to inspect context of a block
...
Added a block_service and corresponding handler in the node to perform
queries of the form '/blocks/<id>/raw_context/<path>?depth=<n>'
returning the sub-tree corresponding to <path> inside the context of
block <id>. The parameter <depth> controls the size of the tree,
default is 1.
2018-02-23 15:09:44 +00:00
Marco Stronati
f9ffb21e74
Node: removed duplicated export.
2018-02-23 15:09:43 +00:00
Grégoire Henry
697b291782
Merge `tezos-protocol-environment-{sigs,client}
2018-02-18 17:11:16 +00:00
Grégoire Henry
0e79a65158
Shell: rename Block_header.proto/data
into protocol_data
2018-02-18 17:11:13 +00:00
Grégoire Henry
6fa1283240
Shell: Rename net_id
into chain_id
2018-02-16 02:57:25 +01:00
bruno
227232e6c7
Shell: delete duplicated functor
2018-02-15 17:38:19 +01:00
Grégoire Henry
322fc1e353
RPC: move p2p services registration in tezos-p2p
2018-02-15 00:29:15 +01:00
Grégoire Henry
515765926f
Shell/test: minor fix in Test_locator
2018-02-13 13:25:49 +01:00
Grégoire Henry
77bd0af3d1
Shell/test: add option to not enforce context hash in block header
2018-02-12 16:59:59 +01:00
Grégoire Henry
e4cde4c196
Client: introduce an alternative context alpha's commands
2018-02-12 16:56:59 +01:00
Grégoire Henry
91143452e3
Proto/env: allow some Lwt
in the construction of rpc_context
2018-02-12 16:54:08 +01:00
Grégoire Henry
66c2a60530
Client refactor: use the error_monad for all RPC services
2018-02-12 16:54:08 +01:00
Grégoire Henry
a70a0788d3
Test: quick and dirty port to alcotest
2018-02-12 02:09:00 +01:00
Grégoire Henry
0e675c2d16
Client refactor: add calling function in Worker_services
2018-02-08 17:23:30 +01:00
Grégoire Henry
1858bdd852
Client refactor: Move Client_node_rpcs
into Shell_services
2018-02-08 17:23:30 +01:00
Grégoire Henry
21789be756
Client refactor: Move Client_node_rpcs.Protocols
into Protocols_services
2018-02-08 17:23:30 +01:00
Grégoire Henry
37e65d93e7
Client refactor: Move Client_node_rpcs.Network
into P2p_services
2018-02-08 17:23:30 +01:00
Grégoire Henry
02c2035e93
Client refactor: Move Client_node_rpcs.Block
into Block_services
2018-02-08 17:23:30 +01:00
Grégoire Henry
24c6f4ea98
Client refactor: Move Lwt_utils_unix.protect
into Error_monad
2018-02-08 17:23:30 +01:00
Grégoire Henry
8c58d7a610
Client refactor: Move non-unix part of Data_Encoding_Ezjsonm
into Data_Encoding.Json
2018-02-08 17:23:30 +01:00
Grégoire Henry
154b932713
Client refactor: Remove usage of Lwt_unix
from Lwt_dropbox
2018-02-08 17:23:29 +01:00
Grégoire Henry
8f7f205031
Client refactor: Remove usage of Lwt_unix
from Lwt_pipe
2018-02-08 17:23:29 +01:00
Grégoire Henry
f61eed1a67
Client refactor: move part of Lwt_utils
in Lwt_utils_unix
2018-02-08 17:23:29 +01:00
Grégoire Henry
f22b3576d2
Client refactor: simpler dependencies in tezos-crypto
2018-02-08 17:23:29 +01:00
Marco Stronati
3ca9a081f9
Locator: added extended test with benchmark
2018-02-08 15:18:11 +00:00
Marco Stronati
d05dceb0b0
State: export predecessor_n
2018-02-08 15:18:10 +00:00
Marco Stronati
f8e69ac8f5
Locator: added test for size 0 and size larger than chain
2018-02-08 15:18:09 +00:00
Marco Stronati
0890034575
State: removed old linear predecessor
2018-02-08 15:18:09 +00:00
Marco Stronati
f62ce16e5c
Locator: rewrote compute to use efficient predecessor from state
2018-02-08 15:18:09 +00:00
Marco Stronati
95a4ede273
State: added function to get predecessor at any distance
2018-02-08 15:18:08 +00:00
Marco Stronati
738310df62
State: added a function to populate the predecessors storage
2018-02-08 15:18:08 +00:00
Grégoire Henry
acffadafae
Jbuilder: fix warning
2018-02-07 11:16:39 +01:00
Grégoire Henry
575e367026
Update copyright notice (2018)
2018-02-05 23:34:05 +01:00
Grégoire Henry
e28219ad60
Opam: update to jbuilder.1.0+beta17
2018-02-05 23:34:05 +01:00
Grégoire Henry
971c3c4b21
Refactor: move Registred_protocol
from State
to Tezos_updater
2018-02-05 23:34:05 +01:00
Grégoire Henry
2498da2815
Protocol_environment: more sharing between node and client
2018-02-05 23:34:05 +01:00
Grégoire Henry
dffa65f648
Test: add test dependencies into *.opam
and fix .gitlab-ci.yml
2018-02-05 23:34:05 +01:00
Grégoire Henry
4d5e55595b
Test: split test/shell
into src/lib_{storage,shell}
2018-02-05 23:34:05 +01:00
Grégoire Henry
a1122f2083
Baking: handle validation passes
2018-02-02 11:56:57 +01:00
Grégoire Henry
09a7e98f9d
Shell: enforce the allowed passes
of an operation
2018-02-02 11:56:57 +01:00
Grégoire Henry
ae3ff0503b
Proto: the number of validation is now a protocol constant
2018-02-02 10:27:58 +01:00
Grégoire Henry
de80f0150b
Compiler: allow bytecode compilation
2018-01-31 14:45:32 +00:00
Grégoire Henry
0c2acd2d48
RPC: simplify Worker.EVENT
2018-01-30 10:13:40 +01:00
Grégoire Henry
1d5b4c1e3b
Refactor: merge lib_p2p_services
into lib_shell_services
...
Also split the module `Shell_services` in smaller modules.
2018-01-30 10:13:40 +01:00
Grégoire Henry
7277c9889b
Refactor: Move/split P2p_types
into lib_base
2018-01-30 10:13:40 +01:00
Grégoire Henry
96e493006c
Refactor: Rename lib_node_updater
-> lib_protocol_updater
2018-01-30 10:13:40 +01:00
Grégoire Henry
96fe5239c9
Refactor: Rename lib_node_shell
-> lib_shell
2018-01-30 10:13:40 +01:00