Граф коммитов

298 Коммитов

Автор SHA1 Сообщение Дата
Maik Riechert 4c4b894bf7
Align js kvmap API to standard Map (#1807) 2020-10-22 23:16:12 +01:00
Maik Riechert 60df2554de
Forum sample: switch to URL templates & add more tests (#1794) 2020-10-22 22:11:10 +01:00
Maik Riechert 041581897e
Add Microsoft login to Forum sample (#1793) 2020-10-22 21:23:46 +01:00
Amaury Chamayou 891f8335ed
Explicit node flags (#1803) 2020-10-22 14:54:43 +01:00
Maik Riechert 783c203345
Forum sample (#1787) 2020-10-22 09:20:46 +01:00
Alex 5e1d9c6ee5
Issue signatures from history (#1732) 2020-10-14 15:27:09 +01:00
Alex f6b7bf6f43
Smallbank bft (#1741) 2020-10-12 17:09:37 +01:00
Amaury Chamayou 2c258fcb6f
Remove tx regulator demo (#1708) 2020-10-05 23:05:02 +01:00
Eddy Ashton 0cd5c4c5b1
Document dynamic table creation, and use dynamic-friendly Txs everywhere (#1674) 2020-09-30 16:33:48 +01:00
Maik Riechert 3757b5d147
Expose response body in Python client similar to request body in JS endpoints (#1621) 2020-09-20 17:47:44 +01:00
Amaury Chamayou 8e8301edac
Remove sig fwd test (#1598) 2020-09-10 15:49:52 +01:00
Eddy Ashton f5cb286b64
Remove flatbuffers (#1593) 2020-09-09 15:31:17 +01:00
Alex 6aba788a98
Renaming consensus types (#1591) 2020-09-09 10:59:57 +01:00
Alex c02338d522
AFT: Forward requests correctly (#1579) 2020-09-07 12:20:26 +01:00
Alex bc11ec1c46
Store less data when re-executing requests (#1566) 2020-09-04 16:39:02 +01:00
Julien Maffre f798d8b902
Python clients cleanup and docs (#1429) 2020-07-27 17:34:16 +01:00
Julien Maffre 61097092ce
Compile warnings enforcing and fixes (#1416) 2020-07-21 16:08:25 +01:00
Amaury Chamayou 2b6e358e62
Remove jsonrpc leftovers (#1388) 2020-07-20 14:07:33 +01:00
Eddy Ashton a9c13e45c1
Use generated votes (#1413) 2020-07-17 14:13:53 +01:00
Julien Maffre b53a4445ce
Start packaging Python infra (#1380) 2020-07-07 15:46:44 +01:00
Amaury Chamayou d10701a801
Client prefix drop (#1367) 2020-07-03 13:52:56 +01:00
Eddy Ashton cf7e544529
Add generator for membership proposals (#1370) 2020-07-03 11:16:22 +01:00
Amaury Chamayou 9de3a1f2bd
Explicit websocket handlers (#1333) 2020-06-25 11:12:56 +01:00
Eddy Ashton ef692f912d
Rename URI prefixes (#1325) 2020-06-23 11:42:13 +01:00
Eddy Ashton 7f13107402
Update endpoint installation API (#1310) 2020-06-22 11:01:12 +01:00
Eddy Ashton eb21022625
Rename standard RPCs to look more RESTful. (#1290) 2020-06-15 16:24:45 +01:00
Amaury Chamayou d4ebc3aef3
Do not use seqnos from NoKV transactions in performance tests (#1286) 2020-06-15 13:13:19 +01:00
Eddy Ashton 605cf504ed
Add a system for retrieving, verifying, and caching historical state in each node (#1267) 2020-06-11 09:59:30 +01:00
Amaury Chamayou ba4ef14df2
Websockets perf tests (#1211) 2020-05-22 17:48:34 +01:00
Eddy Ashton 7b8937e298
Remove S and D templates from kv types (#1191) 2020-05-19 10:40:32 +01:00
Eddy Ashton 176536001d
Split kv.h (#1179) 2020-05-15 17:48:03 +01:00
olgavrou 7653f4919b
enable more tests with pbft (#1118) 2020-04-29 18:19:51 +01:00
Eddy Ashton 4afabd4cca
Fix how evercrypt hashing is called (#1098) 2020-04-24 11:26:47 +01:00
Julien Maffre 73ba10cf0d
Shares table is now of constant size (#1088) 2020-04-22 12:26:04 +01:00
Eddy Ashton f36114439e
Run release enclaves without OE DEBUG flag (#1083) 2020-04-22 11:51:40 +01:00
olgavrou be1224750f
SmallBank with Flatbuffers (#1055) 2020-04-14 15:00:47 +01:00
Amaury Chamayou 5b8c99e3d2
Install scenario_perfclient (#1058) 2020-04-09 15:53:31 +01:00
Julien Maffre 15b612e3d3
Forwarding performance test with multiple clients (#1043) 2020-04-08 13:42:11 +01:00
Eddy Ashton 716ae897cc
Perf test session consistency - wait for global commit (#1039) 2020-04-07 10:32:40 +01:00
Julien Maffre 8405fbaa2d
Key shares and consortium update (#1032) 2020-04-06 16:51:57 +01:00
Eddy Ashton bfb341bb2f
Rename files for consistency (#989) 2020-03-25 16:02:04 +00:00
Eddy Ashton bd8619f2f6
Improve install with exported options (#986) 2020-03-25 14:50:30 +00:00
Eddy Ashton 4d480f4a9a
Some RPCs are GET-only (#966) 2020-03-23 10:53:05 +00:00
Julien Maffre 07e736ec3b
Fast curve for users for performance tests with signatures (#965) 2020-03-19 16:33:34 +00:00
olgavrou 41398896dc
Enable more pbft tests (#954) 2020-03-17 14:50:19 +00:00
Eddy Ashton 79388b9dc2
Construct perf TESTS_SUFFIX in cmake (#931) 2020-03-09 10:29:00 +00:00
Eddy Ashton 5eaf260f8e
Structured RPC responses (#930) 2020-03-06 16:52:16 +00:00
olgavrou c8fe792f34
One consensus build (#922) 2020-03-06 11:52:17 +00:00
Eddy Ashton 7f982dabbf
RPC handlers can directly set HTTP response fields (#921) 2020-03-06 09:42:55 +00:00
Eddy Ashton 0066cffdf4
get_rpc_handler should return UserRpcFrontend (#908) 2020-03-02 16:14:19 +00:00
Eddy Ashton a4f8437c4d
Support non-JSON-RPC payloads (#852) 2020-02-25 14:35:53 +00:00
Amaury Chamayou b908a0283e
Remove stream logic (#869) 2020-02-19 17:08:06 +00:00
Alex 1b7ada169c
Move PBFT execution out of replica.cpp (#849) 2020-02-17 16:24:59 +00:00
Alex 192f4cd041
Remove more TODOs (#812) 2020-02-07 11:32:15 +00:00
Eddy Ashton 7f7657fe95
Use explicit binary directory in Python (#809) 2020-02-06 15:27:18 +00:00
Eddy Ashton e82685393e
Enable HTTP by default (#746) 2020-01-30 12:27:45 +00:00
Eddy Ashton fba15ed4cb
Install all headers and export CCF targets (#742) 2020-01-29 15:09:28 +00:00
Amaury Chamayou 9f65d22fb6
Add cmake-format check (#736) 2020-01-28 18:09:42 +00:00
Eddy Ashton ae327aa09a
Add common enclave lib for building CCF apps against (#715) 2020-01-28 14:06:12 +00:00
Eddy Ashton 905206e06c
CMake changes - use openenclave targets and initial install structure (#708) 2020-01-21 15:14:27 +00:00
Eddy Ashton 0de60cd435
Remove some code assumptions of JSON-RPC response format (#701) 2020-01-20 18:27:11 +00:00
Amaury Chamayou a2e7a89672
Rename some metrics (#677) 2020-01-08 09:02:41 +00:00
Alex fb796abc4b
Add small bank 500k tx json file (#672) 2020-01-06 21:58:12 +00:00
Amaury Chamayou 573374590c
HTTP Performance tests in CI (#652) 2019-12-18 14:48:18 +00:00
Eddy Ashton 5624c7d68a
HTTP C++ client (#622) 2019-12-10 14:42:01 +00:00
Eddy Ashton 3ac1a2b198
Add generic JSON-scenario perf client (#618) 2019-12-09 17:13:27 +00:00
Alex e97c0415eb
Fix how we create and delete certificates in the log (#616)
Fix how we create and delete certificats in the log. This enables us to properly run more than 256 pre_prepare batches
2019-12-09 13:39:56 +00:00
Eddy Ashton e2b919ef5b
Disable PBFT cimetrics (#607) 2019-12-03 11:13:24 +00:00
Julien Maffre 652a08e285
Remove keygenerator C++ utility (#605) 2019-12-03 10:14:51 +00:00
Julien Maffre 065c2e485b
HTTP signed requests (client side) (#594) 2019-11-28 11:41:46 +00:00
Eddy Ashton 14167d3976
Support app-defined ACLs via user-data table and whoAmI RPC (#590)
* Add whoAmI and whoIs RPCs

* Name cert files [user|member]0-2, not 1-3

* Remove manual offsetting from txregulatorclient

* Separate local name from CCF-retrieved ID

* Remove manual offset from demo script too

* Auto stringify

* Add user_data field in UserInfo, settable by members

* USERS table should be whitelisted

* Trying to log most types from lua is an error

* Add privilege model to txregulator app - WIP

* Semantic indentation

* Format

* Add permissions for demo script

* who_is should return a WhoIs::Out

* Schema for new RPCs

* Fix IDs in memberclient

* Address PR comments

* Document adding users + user-data

* Move new info to existing Adding Users section
2019-11-26 17:16:08 +00:00
Alex 988c843b1b
Increase the number of heap pages in small bank (#593) 2019-11-26 13:46:11 +00:00
Alex fc1d4fbc44
PBFT view changes (#580)
Add initial integration for supporting view changes with CCF & ePBFT.
Run the election test when running CCF with ePBFT
2019-11-25 16:52:04 +00:00
Julien Maffre 05d3a89b1e
Node certificate endorsement and TLS authentication changes (#581) 2019-11-25 12:11:07 +00:00
Eddy Ashton 91c729576f
Decode msgpack and json consistently (#566)
* Use msgpack's decoder

* raw quote is a byte-array, not string

* Schema changed

* Remove manual re-encode
2019-11-18 17:04:31 +00:00
Julien Maffre 4c15a97961
Split ccf.py (#538) 2019-11-08 10:12:21 +00:00
Julien Maffre 2d2e004dbd
First version of end-to-end tests chaining (#533) 2019-11-08 09:33:47 +00:00
Alex de6e09bb17
ePBFT - smallbank and other things (#532)
- Get smallbank to work with the pbft backend
- Create a python pbft flag and then use that to make network.start_and_join work for both raft and pbft
- Bug fix where we do not return the KV version properly
- Change to use the standard allocator for pbft message allocations
2019-11-07 11:55:23 +00:00
Julien Maffre a8d5351d6a
Small bank balance as a Read handler (#421) 2019-10-09 10:59:04 +01:00
Amaury Chamayou e0a031c0c0
Merge node and mgmt frontends (#402) 2019-10-01 16:17:14 +01:00
olgavrou 72c5d4aa4f
Consensus naming (#306) 2019-08-15 17:52:43 +01:00
Julien Maffre 612303c786
Remove CircleCI and rename vsts to azure-pipelines (#301) 2019-08-12 11:10:05 +01:00
olgavrou 3843ff0ccf
Lua demo app (#287) 2019-08-08 15:21:55 +01:00
Eddy Ashton c5de34f9ad Separate standard from CCF error codes, allow app extensions (#267) 2019-07-21 16:15:28 +01:00
Eddy Ashton 0f3fa033d2
Support multiple crypto curves (#243)
* Sketch CurveImpl enum, replace macro definitions with templates

* Replace use of MD_TYPE and HASH macros with templates

* Replace HASH macro

* WIP

* Remove remaining compile-disabled code from keypair.h

* Expose CurveImpl, correct 256k1_bitcoin params

* Test all supported curves

* Add test that wrong curve fails to validate

* verify(vector, vector) should delegate, not reimplement

* Corrupt more, to ensure we affect content not padding

* Rename CURVE_CHOICE options to be LEDGER_CURVE_CHOICE

* LEDGER_CURVE_CHOICE determines default_curve_choice

* Proof-of-concept - factories for virtual implementation

* Virtualise PublicKey

* Re-enable other tests

* Remove templated CurveParameters

* Add labels, test for wrong curve, wrong impl

* Correct comment

* Delegate sign(CBuffer), reducing code duplication

* Remove TODO enum

* tls_bench compares curves for signing

* Extract make_contents

* tls_bench does comparison of all supported curves

* Tidy

* Temporary verbose logging of ecp group ID

* Produce standard (non-recoverable) signatures by default, for compatibility

* Fix curve logging, add tests of key transfer across implementations

* Verify with non-recoverable sigs too

* Log inconsistent failing cases

* Correct implementation substitutability test

* Normalize secp256k1 signatures - they may  have come from mbedtls

* Re-order picobench results for readability

* Add some secp256k1 link dependencies

* Unprotect constructors - there are legitimate uses for direct construction

* Verifier curve type is parsed from cert

* history_bench builds

* Reminder TODO comment

* frontend_test builds and passes

* Clients compile

* genesisgenerator compiles

* membervoting_test builds

* Fix sign_hash, sign/verify ack data normally

* Remove unneeded CurveParams entirely

Detect PublicKey type

Simplify construction to minimum

* Correct test with new API

* verify_hash via publickey, test sign_hash and verify_hash

* Include tests

* Update to latest signature

* Ditto

* Update function signatures for people with raw data

* Fix history calls

* When constructing from explicit key, don't pass curve too

* API updates

* Fix nodestate

* inline

* EVERYTHING BUILDS

* Tidy cmake link args

* Remove unnecessary direct use of mbedtls_ecdsa_*

* Remove uint8_t restriction in sig_size

* tls_bench actually compares relevant hash operations

* bitcoin preference doesn't need to be a macro

* Standardise use of use_bitcoin_impl

* clang-format

* Test now uses distinct manual hash operation

CHECK rather than REQUIRE

* Rename LEDGER_curve to SERVICE_IDENTITY_curve

* use fmtlib

* Let mbedtls determine message digest size/function

* Add details to all thrown errors

* Remove parameter packs, document use_bitcoin_impl

* Name magic constant, extract parse_secp256k_bc
2019-07-12 11:12:05 +01:00
Amaury Chamayou e3b1f0140e Remove warmup cooldown (#246) 2019-07-12 10:32:20 +01:00
Eddy Ashton 395e1b05cc
Remove jsonrpc::success() (#164)
* No success without an argument

* Make it clear that JoinNetwork gets an async response

* return json::success(true);

* Expect truth

* luA luI

* Make logging.lua consistent with logging.cpp

* KO OK
2019-06-17 09:30:56 +01:00
Eddy Ashton 3ca4304db1
Choose iterations of signed small bank perf tests depending on curve (#160)
* Separate lines

* Separate files for 2k and 50k signed smallbank transctions

* Choose iterations by curve
2019-06-14 13:10:57 +01:00
Julien Maffre 6be013c0e5
Increase tx count for performance test with signature (#155) 2019-06-13 10:33:34 +01:00
Julien Maffre 85f20eeb91 Support forwarding performance tests (#150)
* Remove unused coverage CI step

* Add new e2e forwarding performance test

* Remove verification file

* Re-enable storage of tx-times and metrics data + copy all clients csv
files back

* Disable signatures for forwarding test for now

* Actually push performance data

* Only push client* csv files

* Re-enable compress time and metrics

* Indentation of CI yml file

* Some more fixups

* Added fast-start for clients and fixups

* Cleanup

* Change comment

* Remove fast-start option as join protocol is now synchronous
2019-06-12 17:59:18 +01:00
Julien Maffre da51ea350e
Failing performance test fix (#126) 2019-06-06 16:02:39 +01:00
Amaury Chamayou b84f28c601
Clean up CI (#102) 2019-05-31 12:58:03 +01:00
Amaury Chamayou e2670448fb Revert "Split off performance build and use secp256k1 for client sigs benchmark"
This reverts commit bbd0c7faf1.
2019-05-30 14:05:44 +01:00
Amaury Chamayou bbd0c7faf1 Split off performance build and use secp256k1 for client sigs benchmark 2019-05-29 15:28:12 +01:00
olgavrou 3d0eb8fc36
Metrics (#79) 2019-05-21 09:27:22 +01:00
Eddy Ashton 9692fe4f8a
Fix smallbank sigs (#14)
* Don't mask exceptional failures

* Print account balances in verify-pastable format

* Update small_bank_short verification target
2019-05-02 12:24:24 +01:00
Amaury Chamayou 608b036037 Add copyright headers, remove hardcoded subscription 2019-04-30 11:05:13 +01:00
Amaury Chamayou 7cd7bde6e9 Add smallbank performance sample to CCF repo 2019-04-30 10:14:06 +01:00