Benjamin Canou
5a21f3c159
Reengineer the PROTOCOL signature to prepare for the multi-step validator.
2017-04-10 23:30:43 +02:00
Grégoire Henry
cfb7e35914
Client: a bit of Error_monad
in Hash
2017-04-10 18:31:37 +02:00
Vincent Bernardoff
329b72d1aa
RPC: batch operation parsing/retrieval
2017-04-04 16:11:18 +02:00
Grégoire Henry
ef3180c561
Shell: Smaller Net_id.
2017-04-02 15:40:04 +02:00
Grégoire Henry
245fa66140
Shell: Split the operations list out of the (minimal) block header.
...
The minimal header now (classically) contains the root of a Merkle tree,
wrapping a list of lists of operations. Currently, the validator only
accept a single list of operations, but the 3+pass validator will
requires at least two lists.
2017-03-31 01:19:34 +02:00
Grégoire Henry
e273cfa07f
Shell/Distributed_db: allow to precheck
data.
2017-03-31 01:19:34 +02:00
Benjamin Canou
ed6e91a47d
RPCs: make the result of [/blocks/X] compatible with Alpha's [/helpers/parse/block].
2017-03-28 14:37:26 +02:00
Benjamin Canou
9872ff8b36
RPCs: make the result of [/operations/X] compatible with Alpha's [/helpers/parse/operation].
...
fixes #160
2017-03-28 14:37:26 +02:00
Guillem Rieu
83f2e0dcd3
Client: switch to JSON config file and remove config-file dependency.
2017-03-16 18:49:31 +01:00
Guillem Rieu
cc44053229
RPC: add HTTP methods and Content-Type headers.
2017-03-16 18:49:31 +01:00
Arthur Breitman
76fad5a3db
Economic = economique
...
Economical = econome
2017-03-15 08:00:53 -07:00
Grégoire Henry
826f2ea4ba
P2p: implements peer swapping
2017-03-14 11:56:42 +01:00
Benjamin Canou
b5f0021016
Shell: add RPC to list network protocol versions.
2017-03-13 19:08:08 +01:00
Vincent Bernardoff
d845dc9740
Alpha: documentation of RPC wrappers.
2017-03-10 18:33:46 +01:00
Grégoire Henry
ab4015b189
Shell: fix (part of) the memory leak in validator
2017-03-09 14:38:39 +01:00
Grégoire Henry
39403e243e
Shell: avoid operation leaks
2017-03-09 14:38:38 +01:00
Grégoire Henry
534dc6af9d
Shell: the genesis block should not flag the node as 'bootstraped'
2017-03-09 14:38:38 +01:00
Grégoire Henry
8453a69e0b
Shell: no duplicates in Prevalidation
2017-03-09 14:38:38 +01:00
Vincent Bernardoff
63e5ea5e79
Client: Add "network stat" command.
2017-03-07 13:07:18 +01:00
Grégoire Henry
49392afd73
Validation: fetch new protocol on demand.
2017-03-03 18:20:38 +01:00
Benjamin Canou
015f3edff3
Shell-level commit messages and timestamps.
2017-03-03 18:20:38 +01:00
Grégoire Henry
257a3972df
Shell: do not forbid to restart the node.
2017-03-02 16:19:19 +01:00
Grégoire Henry
b087042d83
Shell: do not split the validation scheduler...
2017-03-02 16:19:06 +01:00
Benjamin Canou
85055aace6
Shell: do not validate blocks that don't increase the timestamp or fitness.
2017-03-02 16:18:51 +01:00
Grégoire Henry
768cf91cd6
Client: implements ./tezos-client bootstrapped
...
It wait for the node to be synchronized with the network. The heuristic
is currently:
- the timestamp of current head is less than 1 minute old ;
- there was a period of 30 seconds without new block discovered.
2017-03-02 16:17:58 +01:00
Grégoire Henry
eb89877d58
Shell: fix propagation of error in inject_block
2017-02-26 02:03:06 +01:00
Grégoire Henry
0b33e5a6da
Shell/RPC: Implements `/block/<hash>/predecessors
2017-02-26 00:23:52 +01:00
Grégoire Henry
e88e4b0848
Shell: Proto.fitness
-> Context.set_fitness
.
...
Intead of providing a `fitness` function, an economic protocol should
now call `Context.set_fitness`.
This simplify the shell's code and avoid complexity on protocol
change. Previously the fitness of a context produced by the old protocol
had to be read by the new protocol. Now, the shell read the context
without requesting the help of the economic protocol.
2017-02-25 18:14:06 +01:00
Grégoire Henry
b674c538b2
Shell: refactor the distributed DB.
...
This refactors `src/node/shell/state.ml` in order to trace the source of
blocks and operations. This prepares the node for the three-pass
validator.
In the procces, it adds an in-memory overlay for blocks and operations.
2017-02-25 18:14:05 +01:00
Grégoire Henry
69ebe7d0cc
Shell: minor doc improvement in RPC.
2017-02-24 16:22:56 +01:00
Grégoire Henry
bda80bf613
Shell: rename gid
into peer_id
2017-02-24 16:22:56 +01:00
Vincent Bernardoff
b0ed3cefac
Shell: Add RPCs for introspecting the state of the P2P layer
2017-02-24 16:22:55 +01:00
Pierre Chambart
a23d718515
Add utils/Watcher
2017-02-24 16:20:59 +01:00
Grégoire Henry
fc53f3b233
Switch to Base58.
...
Base48 was fun but... hell yeah... let's stay standard.
Public encoding of hash:
```
Block: "B..." (len: 51)
Operation: "o..." (len: 51)
Protocol: "P..." (len: 51)
Ed25519: "tz1.." (len: 36)
Contract: "TZ1.." (len: 36)
NetworkdId: "id.." (len: 30)
```
Other internal prefixes (in the RPC):
```
Hash of Michelson's expression: "expr..." (len: 54)
Ed25519 public key: "edpk..." (len: 54)
Ed25519 secret key: "edsk..." (len: 98)
Ed25519 signature: "edsig.." (len: 99)
Hash of a random seed nonce: "nce...." (len: 53)
Random seed: "rng...." (len: 53)
```
2017-02-24 15:44:21 +01:00
Vincent Bernardoff
efc6d285c6
Shell: limit known points table size
...
* Gc events still need to be recorded
2017-02-16 13:23:01 +01:00
Grégoire Henry
b228904bc7
Node: more CLI argument
2017-01-23 22:15:36 +01:00
Grégoire Henry
2da0c83b5a
P2p: postpone the first maintenance step.
2017-01-23 22:01:35 +01:00
Grégoire Henry
c87e88d84d
Shell: minor fix in RPC description
2017-01-23 22:01:35 +01:00
Grégoire Henry
866e7add2f
Shell: improve Utils
2017-01-23 21:31:30 +01:00
Grégoire Henry
26ce72bc18
P2p: remove functors and rename recv
into recv_any
.
...
This allows to export the underlying `P2p_connection_pool.recv`
that will be used in the refactored distributed DB.
2017-01-19 10:26:45 +01:00
Vincent Bernardoff
e1692ed9bf
Shell: use the new P2P backend
2017-01-19 10:26:45 +01:00
Vincent Bernardoff
01fe34bc4b
Node: catch correct P2P exn
2016-12-09 18:18:59 +01:00
Vincent Bernardoff
224e5d8c73
P2P: Add counters in peer_info
2016-12-06 14:12:18 +01:00
Benjamin Canou
e7c39578b4
Extract the js_of_ocaml compatible part of utils.
2016-12-01 18:27:53 +01:00
Vincent Bernardoff
d41c05a066
Shell: minor rewording in P2p
2016-12-01 13:52:05 +01:00
Grégoire Henry
17475aa743
Shell: switch to Blake2b ( closes #87 #89 )
...
Also drop the dependencies on Cryptokit.
2016-11-25 19:46:50 +01:00
Grégoire Henry
b16a644e55
Proto: Completion of Base48-encoded public keys and contracts
...
This required some modifications in the Base48 module, in order not to
share the 'resolver' between distinct version of the economical protocol.
2016-11-16 00:53:40 +01:00
Grégoire Henry
69261aa542
Client: add command "complete".
2016-11-16 00:52:48 +01:00
Grégoire Henry
07ba685b8d
Base48: encode the "data" before its "hash"
2016-11-16 00:52:48 +01:00
Grégoire Henry
6afcc1ecdd
Shell/P2p: minor renaming.
2016-11-16 00:45:51 +01:00
Grégoire Henry
cbfab86f25
Shell: replace missing Netparams
with Tezos_p2p
2016-11-16 00:45:51 +01:00
Vincent Bernardoff
ff1c08f876
P2p: refactor the mli
2016-11-16 00:44:51 +01:00
Vincent Bernardoff
0af5f6e7c3
tezos_compiler: changes
...
* Read TEZOS_PROTOCOL in json format
* Define Protocol module here
* Fix dependent modules to use Protocol defined here
* Compute hash of protocol if absent in TEZOS_PROTOCOL
2016-10-25 19:03:14 +02:00
Vincent Bernardoff
ec79241adb
reject invalid protocols
2016-10-25 19:03:13 +02:00
Vincent Bernardoff
488373551b
add protocol store + rpcs
2016-10-25 19:03:13 +02:00
Grégoire Henry
026007e7f1
Rename "block_header" into "block".
2016-10-19 20:47:04 +02:00
Grégoire Henry
6c9cfde9be
Update to the latest ocplib-resto.
2016-10-16 21:59:44 +02:00
Çağdaş Bozman
4a7eb60631
Client/Shell: filter heads by date
2016-10-10 14:23:23 +02:00
Grégoire Henry
a2363ebd5b
Shell: Add `State.{Block,Valid_block}.iter_predecessors
2016-09-22 16:42:10 +02:00
Tezos
f42e9d12ac
First public release
2016-09-08 19:29:33 -07:00