Commit Graph

140 Commits

Author SHA1 Message Date
Grégoire Henry
f805507702 Shell: move level in th shell part of block. 2017-04-12 12:41:32 +02:00
Grégoire Henry
6212af55f1 Proto/Alpha: use uint16 for mining priority. 2017-04-12 12:39:08 +02:00
Benjamin Canou
5a21f3c159 Reengineer the PROTOCOL signature to prepare for the multi-step validator. 2017-04-10 23:30:43 +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
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
Vincent Bernardoff
329b72d1aa RPC: batch operation parsing/retrieval 2017-04-04 16:11:18 +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
Guillem Rieu
9b3cde5df9 Client: add Client_proto_context.delegate_contract function 2017-03-31 17:26:04 +02:00
Benjamin Canou
62ed003957 Alpha: remove assets. 2017-03-31 17:02:52 +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
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
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
cc44053229 RPC: add HTTP methods and Content-Type headers. 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
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
82628a6ca2 Client: avoid unrequired monitor 2017-03-09 14:38:39 +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
9dd2e4963f Makefile: add --warn-error 8 (incomplete pattern-matching) 2017-03-07 13:12:23 +01:00
Benjamin Canou
1d13908152 Alphanet: dictator in the alpha protocol 2017-03-03 18:20:38 +01:00
Benjamin Canou
23869991ca Alpha: update .merlin. 2017-03-02 16:19:12 +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
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
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
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
c277b5b56d Proto: let genesis be agnostic on fitness 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
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
Benjamin Canou
d0e9d0d584 Proto: allow decreasing baking slot durations. 2017-02-25 18:05:17 +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
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
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
Grégoire Henry
42f118f486 Publish some baker's code. 2017-01-26 13:38:25 +01:00
Grégoire Henry
854e2f0697 Merge branch 'work-on-script'. 2017-01-23 23:24:16 +01:00
Grégoire Henry
5e1eddf681 Shell: Use Error_monad in Data_encoding_ezjsonm 2017-01-23 21:31:30 +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
6bfbb0d300 Michelson: enforce case sensitivity. 2017-01-20 13:24:46 +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
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
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
Benjamin Canou
087a097cf7 Client: cli_entries module refactoring. 2016-12-01 15:52:31 +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
46cca127a6 Merge branch 'uint64_comparison_in_proof_of_work' into 'master'
Use unsigned comparison in proof of work

See merge request !114
2016-11-21 09:55:46 +01:00
Grégoire Henry
b9c3d95406 Proto: use integer comparison while checking proof-of-work. 2016-11-17 14:58:09 +01:00
Benjamin Canou
3b071cac46 Merge branch 'work-on-script' into 'master'
Tracing interpreter and type checker

Implements:
  * a typechecker that optionally dumps the types of each instruction
  * an interpreter that drops the stack at each execution step

Incidentally:
  * adds some RPCs to pretty print the traces
  * drops floats and imperative structures from the language
  * fixes the typing of `FAIL`
2016-11-17 14:57:54 +01:00
Benjamin Canou
8edfc84ae6 Proto: tracing interpreter, RPCs and command line. 2016-11-16 17:38:53 +01:00
Benjamin Canou
db6a68a08f Proto: RPC to run an arbitrary program on arbitrary data. 2016-11-16 17:38:53 +01:00
Benjamin Canou
8602e5b0a0 Client: unexpand some macros when pretty printing programs. 2016-11-16 17:38:53 +01:00
Benjamin Canou
1e2911dd94 Proto: tracing script translator. 2016-11-16 17:38:53 +01:00
Benjamin Canou
f284714fba Proto: drop floats in the contract language. 2016-11-16 17:38:53 +01:00
Grégoire Henry
1805a1d816 Shell: inline Ed25519 into Environment
This interface is not used in the shell, only in the protocol.  It is
just a (documented) wrapper over a fragment of sodium.
2016-11-16 00:53:40 +01:00
Grégoire Henry
b82ad19806 Shell: Consistently use Ed25519.Public_key_hash 2016-11-16 00:53:40 +01:00
Grégoire Henry
07ba685b8d Base48: encode the "data" before its "hash" 2016-11-16 00:52:48 +01:00
Grégoire Henry
026007e7f1 Rename "block_header" into "block". 2016-10-19 20:47:04 +02:00
Çağdaş Bozman
4a7eb60631 Client/Shell: filter heads by date 2016-10-10 14:23:23 +02:00
Benjamin Canou
e0c039e244 Proto+client: add RPCs and CLI entries to typecheck / hash / sign data. 2016-09-12 14:06:23 +02:00
Benjamin Canou
18d33ff6ca Expand macro instructions in the parser. 2016-09-09 18:44:30 +02:00
Benjamin Canou
e262a334dc Proto: transfer_funds is now transfer_tokens. 2016-09-09 17:12:28 +02:00
Tezos
f42e9d12ac First public release 2016-09-08 19:29:33 -07:00