Commit Graph

573 Commits

Author SHA1 Message Date
Grégoire Henry
c316dc00a8 Minor improvement in the docker image. 2017-04-14 20:54:43 +02:00
Guillem Rieu
b861d45b14 Proto/Alpha: fix proposal checking location in Amendment.record_ballot 2017-04-14 20:54:43 +02:00
Guillem Rieu
76b9cedcef Tests: add test for switching unanimously to 'demo' protocol 2017-04-14 20:54:43 +02:00
Guillem Rieu
3c44f1dfba Proto/Alpha: replace Vote.set_current_proposal by init_current_proposal 2017-04-14 20:54:43 +02:00
Alain Mebsout
8777349a19 A few fixes to make things more posix compliant in build/test scripts 2017-04-14 17:41:18 +02:00
Grégoire Henry
42a4e4ecc0 Merge branch 'stream-binary-decoding' into 'master'
[data_encoding] add facilities to decode a stream of Mbytes.t incrementally

See merge request !173
2017-04-14 00:08:51 +02:00
OCamlPro-Iguernlala
7d214a19f7 data_encoding: read streams of Mbytes.t, tests, remove dead code (debug functions), expose a function that checks without reading the data 2017-04-13 18:05:41 +02:00
Grégoire Henry
0f247adea6 Shell: add the protocol level in the header of block 2017-04-12 18:29:12 +02:00
Grégoire Henry
2b0df39115 Context: simplify the storage of 'test_network'.
This prepares the context to the inclusion the hash of the context in
the block header. By "looking" into the resulting context of a block,
we are now know able to determine whether:

- no testnet is currently associated to the branch;
- a testnet must be forked after the block;
- a previously forked testnet is running.
2017-04-12 12:43:34 +02:00
Grégoire Henry
495e887538 RPC: minor improvements in naming consistency 2017-04-12 12:41:35 +02:00
Grégoire Henry
1b6ecbfc81 Shell/RPC: simplify block-watcher signature 2017-04-12 12:41:35 +02:00
Grégoire Henry
f805507702 Shell: move level in th shell part of block. 2017-04-12 12:41:32 +02:00
Grégoire Henry
2480bfd216 Shell: remove dead code 2017-04-12 12:39:41 +02:00
Grégoire Henry
ab76b8fbf5 Shell/State: consistent use of pred vs. predecessor. 2017-04-12 12:39:41 +02:00
Grégoire Henry
6212af55f1 Proto/Alpha: use uint16 for mining priority. 2017-04-12 12:39:08 +02:00
Grégoire Henry
a731a47d3c Proto: explicit fitness/timestamp in the signature
This remove the data fomr the context where they "duplicate" the
block header.
2017-04-12 12:39:04 +02:00
Grégoire Henry
3b5a3eb509 Client: minor fix in the daemon. 2017-04-10 23:30:43 +02:00
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
e11e9c9ac5 Shell/P2p: Split the unit tests in smaller atom.
And use more `Error_monad`...
2017-04-10 23:14:31 +02:00
Grégoire Henry
413bddcd96 Shell/P2p: propagate all errors to {raw_,}write_sync.
Those functions are only used in the testsuite.
2017-04-10 23:08:16 +02:00
Grégoire Henry
c187a0b792 Shell/P2p: implements raw_write_sync.
For testing only: it allows to send 'gardled' messages to a peer.
2017-04-10 23:08:16 +02:00
Grégoire Henry
c2a4db2d81 Shell/P2p: propagate disconnection errors through the pool. 2017-04-10 23:08:16 +02:00
Grégoire Henry
4523a67e7d Shell/P2p: fix connection close on read error 2017-04-10 23:08:16 +02:00
Grégoire Henry
4537c8780e Shell: introduce Error_monad._assert. 2017-04-10 23:08:16 +02:00
Benjamin Canou
18e2edf6f4 Client: minor client output fixes and enhancements. 2017-04-10 18:31:37 +02:00
Grégoire Henry
dbdcca7dbb Client/Alpha: simplify Client_proto_context 2017-04-10 18:31:37 +02:00
Grégoire Henry
a6c7f355cc Test: simplify Makefile 2017-04-10 18:31:37 +02:00
Grégoire Henry
166801fc77 Client: more Error_monad in Cli_entries. 2017-04-10 18:31:37 +02:00
Grégoire Henry
cfb7e35914 Client: a bit of Error_monad in Hash 2017-04-10 18:31:37 +02:00
Grégoire Henry
f5e2f7b481 Client: more Error_monad in Client_aliases 2017-04-10 18:31:37 +02:00
Grégoire Henry
3226565b39 Client: more Error_monad in Client_{node,proto}_rpcs 2017-04-10 18:31:37 +02:00
Benjamin Canou
f26dfdbe8e RPC: fix CORS preflight. 2017-04-10 18:23:24 +02:00
Vincent Bernardoff
329b72d1aa RPC: batch operation parsing/retrieval 2017-04-04 16:11:18 +02:00
OCamlPro-Iguernlala
cb2aa6ea2b [Data_encoding.Binary] add a function 'to_bytes_list' to encode a given data as a list of 'small' blocks 2017-04-02 16:29:19 +02:00
Grégoire Henry
5449cbbfe6 Proto/Alpha: use record for mining slot. 2017-04-02 16:18:44 +02:00
Grégoire Henry
ef3180c561 Shell: Smaller Net_id. 2017-04-02 15:40:04 +02:00
Grégoire Henry
ffc8fa0383 RPC: rebind 'complete' for blocks and operations. 2017-04-02 15:33:32 +02:00
OCamlPro-Iguernlala
a330f3bcc5 [data_encoding] use MBytes.{get/set}_char to read/write binary data instead of int8 2017-03-31 17:46:44 +02:00
Guillem Rieu
9b3cde5df9 Client: add Client_proto_context.delegate_contract function 2017-03-31 17:26:04 +02:00
Benjamin Canou
5bfe8f90f2 Alpha: document and classify more errors. 2017-03-31 17:03:02 +02:00
Benjamin Canou
62ed003957 Alpha: remove assets. 2017-03-31 17:02:52 +02:00
Benjamin Canou
2ed66ea569 Alpha: take origination burn from source and not destination. 2017-03-31 17:02:36 +02:00
Benjamin Canou
02a67a7976 Alpha: fix typo in error registration. 2017-03-31 17:02:20 +02:00
Grégoire Henry
24b5290a74 Opam: use the libev backend of Lwt. 2017-03-31 16:58:59 +02:00
Grégoire Henry
852ba95a3c Client: do no pat parse the config file and Sys.argv twice. 2017-03-31 16:49:40 +02:00
Grégoire Henry
1879c4359f Merge remote-tracking branch 'ocp/bugfix-in-data-encoding' 2017-03-31 16:48:07 +02:00
Grégoire Henry
c2bf738079 Merge branch 'merkle' 2017-03-31 16:47:32 +02:00
Vincent Bernardoff
0a48a2e14a alpha: expose to_int32 for some types 2017-03-31 16:46:55 +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
618fb64129 Client/RPC: rename wait into async 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
Grégoire Henry
a6307c40cf Shell: add unit tests for Merkle tree 2017-03-31 01:19:33 +02:00
Grégoire Henry
9097809589 Shell: Merkle tree of operations 2017-03-31 01:19:33 +02:00
OCamlPro-Iguernlala
669a0249ca add some asserts in data_encoding 2017-03-29 18:33:39 +02:00
OCamlPro-Iguernlala
dc32decd05 [bugfix in data_encoding] When writing a float (to binary format), MBytes.set_double should be used instead of MBytes.set_float (Float _ encodes doubles in the encoding, not singles) 2017-03-29 18:32:46 +02:00
OCamlPro-Iguernlala
f96fbe7d31 [bugfix in data_encoding] When reading a float (from binary format), MBytes.get_double should be used instead of MBytes.get_float (Float _ encodes doubles in the encoding, not singles) 2017-03-29 18:30:15 +02:00
Benjamin Canou
66cb6a8567 Alpha: remove unused storage key. 2017-03-28 14:37:26 +02:00
Benjamin Canou
31bc331063 Switch to OCaml version 4.04.0. 2017-03-28 14:37:26 +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
Grégoire Henry
7e1cc171cc Shell: fix unhandled exception in io_scheduler. 2017-03-28 14:37:15 +02:00
Benjamin Canou
c46950b903 Shell: repack the context every 10 commits. 2017-03-16 18:49:31 +01:00
Benjamin Canou
d99d8f88a1 Utils: add [Lwt_utils.Idle_waiter]. 2017-03-16 18:49:31 +01:00
Benjamin Canou
70e31054d1 Alpha: classified public key revelation error. 2017-03-16 18:49:31 +01:00
Guillem Rieu
4e82e94ef4 Client: add tags to aliases (enabled for contracts). 2017-03-16 18:49:31 +01:00
Guillem Rieu
9c2564391c Client: lift some commands into functions. 2017-03-16 18:49:31 +01: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
04ef832ad3 Client: add optional seed argument to Client_keys.gen_keys 2017-03-16 18:49:31 +01:00
Guillem Rieu
c6c81345a8 RPC: add answer functions with HTTP code argument to RPC interface. 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
Guillem Rieu
a2758253ea Utils: add [merge_list2] function 2017-03-16 18:49:31 +01:00
Benjamin Canou
967075f49a CLient: fix endorse for command. 2017-03-16 18:49:31 +01:00
Vincent Bernardoff
8962f324d4 Client: a bit of doc. 2017-03-16 18:49:31 +01:00
Vincent Bernardoff
215bd0e2d2 Alpha: simplify mining/endorsement slots RPCs. 2017-03-16 18:49:31 +01:00
Vincent Bernardoff
b48187d43b Client: fix .merlin file. 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
Grégoire Henry
cf0d6d2580 Typo 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
Grégoire Henry
16bae53015 Makefile: do not compile the (old) webclient 2017-03-13 19:08:08 +01:00
Grégoire Henry
2d828060d5 Client: do not fail when the protocol is unknown... 2017-03-13 19:08:08 +01:00
Benjamin Canou
7ba73a5955 Alpha: classify and document mining errors. 2017-03-10 18:33:46 +01:00
Benjamin Canou
259972a3dd Alpha: classify and document qty errors. 2017-03-10 18:33:46 +01:00
Benjamin Canou
9caef6fae4 Alpha: classify and document contract errors. 2017-03-10 18:33:46 +01:00
Vincent Bernardoff
d845dc9740 Alpha: documentation of RPC wrappers. 2017-03-10 18:33:46 +01:00
Grégoire Henry
c2ae0b278a OPAM: more version contraint 2017-03-10 16:27:21 +01:00
Grégoire Henry
82628a6ca2 Client: avoid unrequired monitor 2017-03-09 14:38:39 +01:00
Vincent Bernardoff
556c965af7 RPC server: use ~on_exn 2017-03-09 14:38:39 +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
ec12edeb91 Proto/Alpha: fix mining right timestamp 2017-03-09 14:38:38 +01:00
Grégoire Henry
39403e243e Shell: avoid operation leaks 2017-03-09 14:38:38 +01:00
Benjamin Canou
3b483811f5 Client/genesis: option to set the timestamp of the activation block. 2017-03-09 14:38:38 +01:00
Grégoire Henry
ccfdaa6bd0 FunView: fix recursive removal. 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
Grégoire Henry
9dd2e4963f Makefile: add --warn-error 8 (incomplete pattern-matching) 2017-03-07 13:12:23 +01:00
Vincent Bernardoff
63e5ea5e79 Client: Add "network stat" command. 2017-03-07 13:07:18 +01:00
Vincent Bernardoff
9e823c7dfb typo 2017-03-07 13:04:14 +01:00
Grégoire Henry
ee870722cf Shell: fix Utils.read_file 2017-03-03 18:20:38 +01:00
Grégoire Henry
49392afd73 Validation: fetch new protocol on demand. 2017-03-03 18:20:38 +01:00
Benjamin Canou
1d13908152 Alphanet: dictator in the alpha protocol 2017-03-03 18:20:38 +01:00
Benjamin Canou
7187f2d879 Proto: classify and document some errors. 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
Benjamin Canou
2e96a1377e Genesis: unused error. 2017-03-03 18:20:37 +01:00
Grégoire Henry
bed575d506 Baker: fix operation ordering... 2017-03-02 16:19:22 +01:00
Grégoire Henry
257a3972df Shell: do not forbid to restart the node. 2017-03-02 16:19:19 +01:00
Benjamin Canou
23869991ca Alpha: update .merlin. 2017-03-02 16:19:12 +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
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
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
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
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
Benjamin Canou
f7a70f355c Node: shutdown on an RPC server error. 2017-02-15 15:26:39 +01:00
Benjamin Canou
8f618a0f94 Proto: remove voting proposal cleanup when there is none. 2017-02-15 15:26:39 +01:00
Cagdas Bozman
a7c8975ec6 Proto: check the 'delegatable-ity' before to remove a delegate key.
We use the `remove` function instead of `delete` to check the
delegatable-ity to avoid a storage error (`remove` does nothing if the
bucket does not exist).
2017-02-15 15:26:39 +01:00
Grégoire Henry
d475d1ac29 Proto: fix freeze_rolls_for_cycle
That's what happen when no-one review the code...
2017-02-15 15:26:39 +01:00
Pierre Chambart
90c5314c4f Proto: Initialize a nonce for the genesis block 2017-02-15 15:26:39 +01:00
Grégoire Henry
c8376198c8 Proto: refill bootstrap contracts at the end of a cycle 2017-02-15 15:26:39 +01:00
Grégoire Henry
55e2429758 P2p: more debug traces. 2017-02-15 15:26:39 +01:00
Grégoire Henry
48da8299a6 P2p: various small fixes.
* fix bad "locking" in `p2p_io_scheduler.shutdown`
* add missing exception handler in `P2p_io_scheduler`
* wake-up `P2p.recv_any` when a new connection is established
* reintroduce version negotiation
* fix typo in greylisting
2017-02-15 15:26:39 +01:00
Vincent Bernardoff
6d41b3d38c Shell: Improve the CLI of tezos-node
* Use subcommands:
  * `tezos_node run`
  * `tezos_node config`
  * `tezos_node identity`
* Regroup all on-disk data in `--data-dir`
* Split `Node_main` in multiple files.
* Add DNS resolution for `--net-addr` and `--rpc-addr`
* Hardcode `bootstrap.tezos.com` as bootstrap peer(s)
* Add `--no-bootstrap-peers`
* Rename `--expected-connections` -> `--connections`
2017-02-15 15:26:17 +01:00
Grégoire Henry
42f118f486 Publish some baker's code. 2017-01-26 13:38:25 +01:00
Vincent Bernardoff
9090559510 Node: typo 2017-01-25 00:18:11 +01:00
Grégoire Henry
ec0e7d4d48 Merge branch 'lwt_pipes_limit' into 'master'
Lwt_pipe: limit by content size in bytes

See merge request !137
2017-01-24 00:05:07 +01:00
Grégoire Henry
0820744619 Lwt_pipe: minor style issue 2017-01-23 23:59:16 +01:00
Grégoire Henry
854e2f0697 Merge branch 'work-on-script'. 2017-01-23 23:24:16 +01:00
Grégoire Henry
c194045f6e Shell: Add missing CLI arguments.
- fix the semantics of `--base-dir` and `--sandbox`:
  -  `--sandbox path` becomes : `--base-dir path --sandbox`
  -  `--sandbox path --sandbox-param file.json` becomes `--base-dir path --sandbox=file.json`
- added `--generate-identity` for generating the node cryptographic identity and the associated stamp of proof-of-work. The amount of required work can be adjusted with `--expected-pow f` where `f` is float value such as the 256-bit stamp should be below `2^(256-f)`. For instance `--expected-pow 16` requires 16 zero-bits.
- added all the new p2p parameters: queue size, buffer size, ...
2017-01-23 22:28:44 +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
5ee3581d60 P2p: fix in P2p_maintenance 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
197ac28f0b Shell: Add Cryptobox.target_of_float
[target_of_float f] is `2 ^ (256 - f)`.
2017-01-23 21:33:01 +01:00
Grégoire Henry
3a70d88fe6 Shell: animated generation of P2p.Identity 2017-01-23 21:31:30 +01:00
Grégoire Henry
5e1eddf681 Shell: Use Error_monad in Data_encoding_ezjsonm 2017-01-23 21:31:30 +01:00
Grégoire Henry
a65ad52620 Shell: improve Lwt_utils 2017-01-23 21:31:30 +01:00
Grégoire Henry
31872eb1b1 Shell: Improve Logging 2017-01-23 21:31:30 +01:00
Grégoire Henry
866e7add2f Shell: improve Utils 2017-01-23 21:31:30 +01:00
Vincent Bernardoff
1e4d090e2c Lwt_pipe: limit by content size in bytes 2017-01-23 18:03:00 +01:00
Grégoire Henry
d87a6cd556 Docker: integration in CI
And minor fix:

- introduce configuration file for OCaml and alpine versions
- add missing `libssl1.0` in docker image
- remove the split call to `install_build_deps` (not required anymore)
- rename scripts
2017-01-23 11:28:04 +01:00
Grégoire Henry
52fab9528c P2p: add error for invalid authentification 2017-01-23 09:18:56 +01:00
Vincent Bernardoff
ce986c4a9c Shell: sign Ack message 2017-01-23 09:13:41 +01:00
Benjamin Canou
d72746c990 Michelson (docs): fixed forward example. 2017-01-20 13:25:28 +01:00
Benjamin Canou
52ec257e1d Michelson (docs): fixed scrutable reservoir example. 2017-01-20 13:25:28 +01:00
Benjamin Canou
5e06b9c719 Michelson (docs): fixed reservoir example. 2017-01-20 13:25:28 +01:00
Benjamin Canou
3a149af667 Utils: include error id in the default error pretty printer. 2017-01-20 13:25:28 +01:00
Benjamin Canou
c472dbdfa4 Michelson: towards better typechecking error reports. 2017-01-20 13:25:28 +01:00
Benjamin Canou
3cce0f3d1d Michelson: fix and extend macro expansion.
fixes #114
fixes #115
2017-01-20 13:25:14 +01:00
Benjamin Canou
507c46bbcb Michelson: get rid of tagged data notation. 2017-01-20 13:25:14 +01:00
Benjamin Canou
26e1adc143 Michelson: rename void into unit. 2017-01-20 13:25:14 +01:00
Benjamin Canou
98859dbf30 Michelson (docs): rewrite intro + doc fixes. 2017-01-20 13:25:09 +01:00
Benjamin Canou
6bfbb0d300 Michelson: enforce case sensitivity. 2017-01-20 13:24:46 +01:00
Benjamin Canou
8b8ce63590 Michelson: fix missing type equality.
fixes #111
2017-01-20 13:24:24 +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
Grégoire Henry
d9fc93a5c0 Shell: implement P2p_{maintenance,discovery}. 2017-01-19 10:26:45 +01:00
Grégoire Henry
b694a62810 Shell: implement P2p_{connection_pool,welcome} 2017-01-19 10:26:45 +01:00
Grégoire Henry
6d47cb2c8f Shell: implement P2p_connection 2017-01-19 10:21:21 +01:00
Grégoire Henry
2ed8bf2cfa Shell: implement P2p_io_scheduler 2017-01-19 10:21:21 +01:00
Vincent Bernardoff
7f091b38b9 Shell: add Crypto_box.Public_key_hash 2017-01-19 10:21:21 +01:00
Vincent Bernardoff
0b6aa16ca7 Shell: improve logging (prepend the current time) 2017-01-19 10:21:21 +01:00
Vincent Bernardoff
5eb8d0077a Shell: add Data_encoding.Binary.fixed_length 2017-01-19 10:21:21 +01:00
Vincent Bernardoff
22ae4dbf45 Shell: simplify the signature of Hash.Hash_table 2017-01-19 10:21:21 +01:00
Vincent Bernardoff
1f7f9b369d Shell: improve Lwt_pipe 2017-01-19 10:21:21 +01:00
Vincent Bernardoff
6b3e002285 Shell: improve Lwt_utils 2017-01-19 10:21:21 +01:00
Vincent Bernardoff
0027d70158 Shell: improve Error_monad 2017-01-19 10:21:17 +01:00
Vincent Bernardoff
98fd45ab9f Shell: add Ring 2017-01-19 10:21:17 +01:00
Vincent Bernardoff
ad035d7679 Shell: add Time.{Map,Set,Table} 2017-01-19 10:21:17 +01:00
Vincent Bernardoff
a891e23741 Shell: improve Utils
- unopt_map
- list_{sub,rev_sub}
- take_n
- Bounded
2017-01-19 10:21:17 +01:00
Grégoire Henry
df81d95614 Shell: update to lwt.2.7.0 2017-01-14 13:12:55 +01:00
Grégoire Henry
7689021810 CI: less build artifacts 2017-01-02 14:49:56 +01:00
Eitan Chatav
28b4c8e6ef Minimal attacker node. 2017-01-02 13:33:11 +01:00
Grégoire Henry
61bea21033 Merge branch 'rpc-tls' into 'master'
Rpc tls

See merge request !128
2017-01-02 09:36:39 +01:00
Grégoire Henry
77ba592448 Opam: depends on ssl. 2017-01-02 09:21:36 +01:00
Arthur Breitman
86039e5d88 typo left/right in language description 2016-12-25 08:39:49 -08:00
Benjamin Canou
63aeab5bb9 RPC: use the external TLS implementation. 2016-12-14 16:45:37 +01:00
Benjamin Canou
8360b4e407 RPC: fixes some comments. 2016-12-14 16:40:42 +01:00
Benjamin Canou
8264ec111a Client: do not eat some error messages. 2016-12-14 16:39:42 +01:00
Vincent Bernardoff
cdb34ca7d3 RPC: TLS bugfixes 2016-12-13 01:52:55 +01:00
Vincent Bernardoff
59881cde32 RPC: Add TLS on the client 2016-12-13 00:47:23 +01:00
Vincent Bernardoff
77506ac4b5 RPC: Fix doc 2016-12-13 00:45:46 +01:00
Vincent Bernardoff
42b30f7bd2 RPC: Add TLS 2016-12-13 00:45:46 +01:00
Vincent Bernardoff
01fe34bc4b Node: catch correct P2P exn 2016-12-09 18:18:59 +01:00
Grégoire Henry
5c428a5ea3 CI: avoids broken packages
Otherwise:

```
The actions to process have cyclic dependencies:
  - install bos.0.1.4 -> install base64.2.1.2 -> install js_of_ocaml.2.8.3 -> install mtime.0.8.3 -> install bos.0.1.4
  - install bos.0.1.4 -> install base64.2.1.2 -> install js_of_ocaml.2.8.3 -> install logs.0.6.2 -> install bos.0.1.4
```
2016-12-09 11:19:24 +01:00
Grégoire Henry
f7f5f21e46 Fix make build-deps
The amended script is now able to handle new dependency in the opam file.
It also abloe to handle `test` attributes.
2016-12-08 16:33:01 +01:00
Vincent Bernardoff
224e5d8c73 P2P: Add counters in peer_info 2016-12-06 14:12:18 +01:00
Vincent Bernardoff
92f78b29e4 P2P: recv: return size read 2016-12-06 14:12:18 +01:00
Vincent Bernardoff
2b27a1ffbe P2P: Discovery: avoid unneeded connections 2016-12-06 14:12:18 +01:00
Vincent Bernardoff
c2249056d7 P2P: Do not send unauthenticated Advertise msgs 2016-12-06 14:12:18 +01:00
Vincent Bernardoff
6a1265255f P2P: refactor for less indenting 2016-12-06 14:12:18 +01:00
damian
517893f707 RPC: Add CORS headers 2016-12-06 13:58:21 +01:00
Vincent Bernardoff
4e9c54efa9 node_main: do not override cfg file values 2016-12-06 13:54:20 +01:00
Benjamin Canou
923d061d72 Client: help generation fixes. 2016-12-05 13:18:12 +01:00
Benjamin Canou
a098d25a55 Client: add a context to command evaluation. 2016-12-03 13:05:02 +01:00
Benjamin Canou
dc64f9b6fb Webclient: first draft. 2016-12-02 20:06:29 +01:00
Benjamin Canou
e7c39578b4 Extract the js_of_ocaml compatible part of utils. 2016-12-01 18:27:53 +01:00
Benjamin Canou
69f682357f Add hooks to the RPC server to handle static files. 2016-12-01 15:52:31 +01:00
Guillem Rieu
5b1244648c Client: remove compilation warnings due to Cli_entries.log returning 'unit Lwt.t' 2016-12-01 15:52:31 +01:00
Guillem Rieu
69adc115be Client: fix typo 'litteral' -> 'literal' 2016-12-01 15:52:31 +01:00
Guillem Rieu
a48d8c0026 Client: replace (e)printfs with Cli_entries.{error,warning,message} equivalent 2016-12-01 15:52:31 +01:00
Guillem Rieu
3c2453f00d Client: catch Failure exceptions in Client_main 2016-12-01 15:52:31 +01:00
Guillem Rieu
80e1b0f312 Client: add Cli_entries.warning to log a message on stderr without raising exception 2016-12-01 15:52:31 +01:00
Benjamin Canou
087a097cf7 Client: cli_entries module refactoring. 2016-12-01 15:52:31 +01:00
Vincent Bernardoff
1ffe2db277 P2P: Minor changes 2016-12-01 13:52:05 +01:00
Vincent Bernardoff
bdb2d20f05 P2P: Introduce a worker dedicated to user events 2016-12-01 13:52:05 +01:00
Vincent Bernardoff
a832c2069f P2P: Do not log ``ordinary'' errors 2016-12-01 13:52:05 +01:00
Vincent Bernardoff
e1d6df6e99 P2P: Do not accept unauthenticated Advertise msgs 2016-12-01 13:52:05 +01:00
Vincent Bernardoff
5f8b74e96c P2P: Cancel MA computations on client disconnect 2016-12-01 13:52:05 +01:00
Vincent Bernardoff
158447416b Shell: Count sent and received bytes in P2p. 2016-12-01 13:52:05 +01:00
Vincent Bernardoff
56a58cc962 Shell: use bounded Lwt_pipe in P2p 2016-12-01 13:52:05 +01:00