Commit Graph

305 Commits

Author SHA1 Message Date
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
cb90e3e5c5 Lwt: temporary Hack (waiting for Pierre's expertise) 2017-03-02 16:18:44 +01:00
Grégoire Henry
3f5bd7ea5b Client: allow the baker te re-read keys.
Is a new key is added, the baker will start baking for this key.
No need to relauch the baker anymore.
2017-03-02 16:18:16 +01:00
Grégoire Henry
22e3aee362 Alphanet: remove the secret bootstrap keys 2017-03-02 16:18:09 +01:00
Grégoire Henry
2b938802f3 Alphanet: trivial faucet 2017-03-02 16:18:02 +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
de050bfee1 Shell: tezos-node identity should read the configuration file 2017-02-27 22:29:06 +01:00
Grégoire Henry
0b27503f30 Shell: exit properly on SIGTERM. 2017-02-27 22:28:59 +01:00
Grégoire Henry
348aec3d10 Makefile: more fixes...
Sigh!
2017-02-27 17:21:37 +01:00
Grégoire Henry
3edace2720 Makefile: fix various dependencies errors 2017-02-27 09:49:03 +01:00
Grégoire Henry
801d0ca287 Unit testing: fix typo in sandbox parameters. 2017-02-26 02:03:23 +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
05ed4e7557 Error_monad: allow binary serialization of error. 2017-02-26 02:02:33 +01:00
Grégoire Henry
b461b6c0c6 Shell: protection against serialisation error. 2017-02-26 01:25:47 +01:00
Grégoire Henry
20057079c6 Client/Revelation: reduce the size of RPC requests 2017-02-26 00:24:02 +01:00
Grégoire Henry
2f6863da89 Client/Endorser: do not send endorsement for old blocks 2017-02-26 00:23:54 +01:00
Grégoire Henry
0b33e5a6da Shell/RPC: Implements `/block/<hash>/predecessors 2017-02-26 00:23:52 +01:00
Grégoire Henry
fc7e4e56a6 Client/Baker: do not monitor endorsement while baking. 2017-02-25 18:25:00 +01:00
Grégoire Henry
285427bcba Client: minor stylistic issue. 2017-02-25 18:24:58 +01:00
Benjamin Canou
c66db98bfa Baker: don't bake over old loafs during the bootstrap stage. 2017-02-25 18:24:33 +01:00
Grégoire Henry
863869eb40 Proto/Env: remove Bytes.unsafe_of_string 2017-02-25 18:18:35 +01:00
Grégoire Henry
c277b5b56d Proto: let genesis be agnostic on fitness 2017-02-25 18:14:06 +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
3c035da25c Proto: unit testing for the genesis protocol
- Let the `sandbox` change the public key
- Adapt `test_basic.ml` and `test_basic.sh`
- Do not duplicate the fitness in the block header

Client:
- allow the `bootstrap` command to lookup keys in the `head` rather than
  in `genesis`.
2017-02-25 18:14:06 +01:00
Grégoire Henry
639b4c0c5c Shell: add Data_encoding.unit 2017-02-25 18:14:06 +01:00
Grégoire Henry
a2f1b6c889 Client: introduce Client_blocks 2017-02-25 18:14:06 +01:00
Vincent Bernardoff
8f5f5a2106 Genesis protocol 2017-02-25 18:14:06 +01:00
Grégoire Henry
d5d5cc7c09 Proto: rename bootstrap into alpha 2017-02-25 18:14:05 +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
26ce119072 Alphanet: bootstrap accounts should always have 1/2 of the mining rights 2017-02-25 18:14:05 +01:00
Grégoire Henry
300dd5ea6d Makefile: praise the return of utop.
The Makefile is really hackish...
2017-02-25 18:14:05 +01:00
Benjamin Canou
d0e9d0d584 Proto: allow decreasing baking slot durations. 2017-02-25 18:05:17 +01:00
Grégoire Henry
de866a0943 CI: temporary hack. 2017-02-24 18:02:24 +01:00
Grégoire Henry
e665a4f7e6 Script: some helpers for managing a local network. 2017-02-24 18:02:24 +01:00
Grégoire Henry
09dcb59c14 Makefile: praise the return of utop.
The Makefile is really hackish...
2017-02-24 18:02:24 +01:00
Benjamin Canou
bc16b027c2 Proto: allow origination of two contract with the same properties.
fixes #124
2017-02-24 16:24:27 +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
Vincent Bernardoff
70491aea8c Utils: Moving_average: use int64 for total 2017-02-24 16:20:59 +01:00
Vincent Bernardoff
92c339f732 P2P: more types 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
Benjamin Canou
5be99fca06 Merge branch 'limit_hashtbl_size' into 'master'
Shell: limit known points table size

See merge request !138
2017-02-16 14:46:14 +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
0a3ad7de53 Client: add rpc call ... with '{json}' 2017-02-15 15:26:39 +01:00
Grégoire Henry
9a0ac6b837 Client/Baker: improve logging. 2017-02-15 15:26:39 +01:00
Benjamin Canou
f77a2544cc Client/Baker: fix baking of the first block. 2017-02-15 15:26:39 +01:00
Grégoire Henry
34e1764bce Client/Baker: let the baking daemon reveal nonces 2017-02-15 15:26:39 +01:00