Commit Graph

235 Commits

Author SHA1 Message Date
Greg Fitzgerald 52145caf7e Cleanup: make 'verified' qualifier implicit
History: Qualifying the method names with 'verified' was done to
distinguish them from methods that first did signature verification.
After we moved all signature verication to SigVerifyStage, we removed
those methods from Bank, leaving only the 'verified' ones.

This patch removes the word 'verified' from all method names, since
it is now implied by any code running after SigVerifyStage.
2018-05-29 10:38:58 -06:00
Anatoly Yakovenko 2dbf9a6017 rename 2018-05-26 20:13:42 -06:00
Anatoly Yakovenko fe93bba457 logs
poll both endpoints in client

logs

logs

logs

names

verify plan not sig

log

set udp buffer to max

drop output

more verbose about window requests

log the leader

load leader identity

readme for single node demo

update

asserts

update

replay all

rsync

dynamic file read in testnode

fix

cleanup

readme

sum

fix scripts

cleanup

cleanup

readme
2018-05-26 20:13:42 -06:00
Greg Fitzgerald 733b31ebbd testnode -> fullnode
It's the real deal.
2018-05-25 17:31:07 -06:00
Greg Fitzgerald dac9775de0 Replace client-demo with multinode-demo 2018-05-25 17:31:07 -06:00
Greg Fitzgerald aaeb5ba52f tr -> tx 2018-05-25 16:47:21 -06:00
Greg Fitzgerald 9f5a3d6064 events -> transactions 2018-05-25 16:47:21 -06:00
Greg Fitzgerald 4cdf873f98 Delete event.rs 2018-05-25 16:47:21 -06:00
Anatoly Yakovenko 75c37fcc73 names 2018-05-25 07:02:39 -06:00
Anatoly Yakovenko 5be71a8a9d logs 2018-05-25 07:02:39 -06:00
Anatoly Yakovenko b9ae7d1ebb logs 2018-05-25 07:02:39 -06:00
Anatoly Yakovenko 342cc7350a poll both endpoints in client 2018-05-25 07:02:39 -06:00
Anatoly Yakovenko c2c80232e3 logs 2018-05-24 17:40:33 -06:00
Anatoly Yakovenko 2128c58fbe logs and tps counting 2018-05-24 10:35:23 -06:00
Greg Fitzgerald e12e154877 Boot Event timestamp/singature constructors 2018-05-24 10:10:41 -06:00
Greg Fitzgerald cc907ba69d Add Instruction type 2018-05-24 10:10:41 -06:00
Greg Fitzgerald 0d980e89bc cargo fmt
@aeyakovenko: https://github.com/rust-lang/rust.vim#formatting-with-rustfmt
2018-05-23 20:05:08 -06:00
Anatoly Yakovenko 7faa2b8698 fixed demo 2018-05-23 17:24:58 -06:00
Anatoly Yakovenko 65352ce8e7 fix 2018-05-23 17:24:58 -06:00
Anatoly Yakovenko f1988ee1e3 help 2018-05-23 17:24:58 -06:00
Anatoly Yakovenko 82ac8eb731 use client ports 2018-05-23 17:24:58 -06:00
Anatoly Yakovenko ae47e34fa5 fix 2018-05-23 17:24:58 -06:00
Anatoly Yakovenko 28e781efc3 break early 2018-05-23 17:24:58 -06:00
Anatoly Yakovenko 5c3ceb8355 aws demo2 2018-05-23 17:24:58 -06:00
Stephen Akridge 2a0095e322 Remove unused variable in multinode-demo fix compiler warning 2018-05-23 16:55:45 -06:00
anatoly yakovenko 9ad5f3c65b
fix option (#246) 2018-05-23 14:48:00 -07:00
Greg Fitzgerald d4200a7b1e Fix build
GenKeys() fix and new multinode module crossed in flight.
2018-05-23 14:10:26 -06:00
Greg Fitzgerald 84477835dc
Fix nondeterministic key generation (#243)
Our one and only unsafe operation was ...unsafe.
2018-05-23 14:04:07 -06:00
anatoly yakovenko 504b318ef1 Hooks for binaries to run as leader or replicator and attach to network (#221) 2018-05-23 14:03:19 -06:00
Anatoly Yakovenko 8049323ca8 @garious review 2018-05-23 12:07:44 -06:00
Anatoly Yakovenko 8646ff4927 refactor wip 2018-05-23 12:07:44 -06:00
Anatoly Yakovenko 437c485e5c cleanup 2018-05-23 12:07:44 -06:00
Greg Fitzgerald 2e059f8504 Rename TransactionData to Contract
No longer a single place to get all the data that was signed.
2018-05-22 17:00:40 -06:00
Stephen Akridge 8454eb79d0 Send events to the right address and set recv socket timeout 2018-05-22 13:52:50 -07:00
Greg Fitzgerald 6c1f1c2a7a Promote create_entry() to Entry::new() 2018-05-16 23:18:58 -07:00
Greg Fitzgerald 3f38c0a245 Feed events socket into the server 2018-05-15 11:19:58 -06:00
Greg Fitzgerald cfe8b3fc55 Wrap the RPU with new object Server 2018-05-15 11:00:01 -06:00
Greg Fitzgerald e9ee020b5f Rename constructors 2018-05-15 10:45:36 -06:00
Greg Fitzgerald 99dc4ea4a9 Spin up threads from Rpu/Tpu constructors 2018-05-15 10:30:52 -06:00
Greg Fitzgerald 0aaa500f7c Rpu/Tpu serve() functions now only spin up threads 2018-05-15 10:10:45 -06:00
Greg Fitzgerald 5f5be83a17 Hoist socket creation/configuration
TODO: Add a library for socket configuration.
2018-05-15 10:05:23 -06:00
Greg Fitzgerald ee3fb985ea Hoist set_timeout 2018-05-15 09:42:28 -06:00
Greg Fitzgerald d2dd005a59 accountant -> bank 2018-05-14 15:33:11 -06:00
Greg Fitzgerald 685de30047 Purge EventProcessor from RPU 2018-05-14 14:35:25 -06:00
Greg Fitzgerald 3f10bf44db Config recorder with any kind of Duration, not just milliseconds 2018-05-14 14:12:36 -06:00
Greg Fitzgerald a3d2831f8c Free up the name 'accounting_stage' 2018-05-12 14:05:57 -06:00
Greg Fitzgerald 4180571660 Don't pass events_socket to RPU 2018-05-12 11:11:30 -06:00
Greg Fitzgerald 421d9aa501 Free up the name 'tpu' 2018-05-12 10:53:25 -06:00
Greg Fitzgerald b4ca414492 More object-oriented 2018-05-12 00:19:12 -06:00
Greg Fitzgerald 600a1f8866 Initialize thin client with events port 2018-05-11 16:35:53 -06:00
Greg Fitzgerald 95bf68f3f5 Correct some strange naming 2018-05-11 16:24:18 -06:00
Greg Fitzgerald bcdb058492 cargo fmt 2018-05-11 13:06:05 -06:00
Code Cobain 3d77fa5fbc
Merge branch 'master' into 153-panic-cleanup 2018-05-11 11:40:20 -07:00
Jackson Sandland 250830ade9 cargo fmt run 2018-05-11 11:38:52 -07:00
Robert Kelly a49e664e63 Merge branch '156__remove_user_keys_in_mintdemo' of github.com:rlkelly/solana into 156__remove_user_keys_in_mintdemo 2018-05-11 14:07:48 -04:00
Robert Kelly f20380d6b4 changed RwLock to RefCell 2018-05-11 14:07:41 -04:00
Rob Kelly 05a5e551d6
Merge branch 'master' into 156__remove_user_keys_in_mintdemo 2018-05-11 13:00:44 -04:00
Robert Kelly d278b71cb2 added tests and utility method for key generation 2018-05-11 12:55:05 -04:00
Tyera Eulberg 8b7f7f1088 Generalize next tick functions to carry events 2018-05-11 09:45:42 -06:00
Greg Fitzgerald 4f629dd982 Add events socket instead of modifying the existing socket 2018-05-10 16:54:43 -06:00
Stephen Akridge a80991f2b3 Fixes for serializing entries over blobs and reorg into ledger 2018-05-10 15:30:30 -07:00
Greg Fitzgerald 7ce11b5d1c Cleanup: use full words for field names
and optionally for variable names
2018-05-09 16:19:42 -06:00
Greg Fitzgerald f2d4799491 Cleanup: field names should be nouns 2018-05-09 16:14:40 -06:00
Greg Fitzgerald ded28c705f Tuck away the Historian
The Historian is now just a utility of the accounting stage.
2018-05-09 12:25:19 -06:00
Greg Fitzgerald 6967cf7f86 Boot sync_channel()
This is less useful now that we send Vec<Event> instead of Event.
2018-05-09 11:43:16 -06:00
Greg Fitzgerald 52f1a02938 Delete historical artifact
This was just to explain Proof of History. We have better explanations
elsewhere. Delete!
2018-05-09 07:53:24 -06:00
Robert Kelly 40c50aef50 deterministic random wallet generationg 2018-05-09 00:07:19 -04:00
Greg Fitzgerald 1dca17fdb4 cargo +nightly fmt 2018-05-08 18:59:01 -06:00
Greg Fitzgerald 785e971698 AccountantSkel -> Tpu
The terms Stub and Skel come from OMG IDL and only made sense while
the Stub was acting as an RPC client for the the Accountant object.
Nowadays, the Stub interface looks nothing like the Accountant and
meanwhile we've recognized the multithreaded implementation is more
reminiscent of a pipelined CPU. Thus, we finally bite the bullet and
rename our modules.

AccountantSkel -> Tpu
AccountantStub -> ThinClient

Up next will be moving much of the TPU code into separate modules,
each representing a stage of the pipeline. The interface of each
will follow the precedent set by the Historian object.
2018-05-08 17:40:02 -06:00
Greg Fitzgerald 2bfa20ff85
Merge pull request #182 from garious/split-request
Control port prep
2018-05-08 17:11:34 -06:00
Greg Fitzgerald 474a9af78d
Merge pull request #187 from sakridge/fix_blob_size_check
Trust the recorder not to give us more than we can serialize
2018-05-08 17:11:18 -06:00
Stephen Akridge 4870def1fb Fix default client port, server uses 8000-8002 for gossip. 2018-05-08 15:40:55 -07:00
Stephen Akridge 3e73fb9233 Trust the recorder not to give us more than we can serialize
Also run client for 10 seconds, 5 is bit too short
2018-05-08 15:23:41 -07:00
Greg Fitzgerald 9ff1a6f0cd Add a thread to support thin clients 2018-05-07 21:44:44 -06:00
Greg Fitzgerald 893011c3ba Process events instead of processing only transactions
Prep work to allow clients to send any type that can end up in
the ledger.
2018-05-07 14:51:13 -06:00
Stephen Akridge e8f5fb35ac Multinode fixes and test
* Replace magic numbers for 64k event size
* Fix gossip, dont ping yourself
* Retransmit only to listening nodes
* Multinode test in stub marked unstable
2018-05-06 21:36:06 -07:00
Greg Fitzgerald de680c2a8e Remove duplicate state 2018-05-03 13:24:37 -06:00
Anatoly Yakovenko c2e2960bf7 Add broadcast impl 2018-05-03 10:34:01 -07:00
Greg Fitzgerald 385d2a580c Merge pull request #168 from aeyakovenko/fix_multi_host_client_demo
multi host client demo
2018-05-03 10:21:41 -06:00
Anatoly Yakovenko b65f04d500 multi host client demo
Bind to the same interface as the user supplied client address.
2018-05-03 08:28:11 -07:00
Greg Fitzgerald 4b9f115586 Hoist Historian input 2018-05-02 16:35:37 -06:00
Greg Fitzgerald c5cc91443e Rename sender/receiver to input/output 2018-05-02 15:54:53 -06:00
Greg Fitzgerald d415b17146 sleepless demo to complement sleepless nights
18 ktps on macbook pro, no gpu
2018-04-26 13:17:38 -06:00
Greg Fitzgerald 9ed953e8c3 Fix rebase fails 2018-04-26 09:35:10 -06:00
Greg Fitzgerald b60a98bd6e Startup log can reference IDs without itself 2018-04-26 08:42:34 -06:00
Greg Fitzgerald a15e30d4b3 Report transactions processed 2018-04-26 08:42:34 -06:00
Greg Fitzgerald d5d133353f Port blocking stub functions to new stateful ones 2018-04-26 08:42:34 -06:00
Greg Fitzgerald 58860ed19f WIP: New demo that makes better use of the parallelized accountant 2018-04-26 08:42:34 -06:00
Greg Fitzgerald 583f652197 Generate genesis log for the demo
This log contains a bunch of transactions that generate new
accounts, so that transactions to and from them can be processed
in parallel.
2018-04-26 08:42:34 -06:00
Greg Fitzgerald 38fdd17067 Add initializing log message to server
Handy when gesesis block is large.
2018-04-26 08:42:34 -06:00
Greg Fitzgerald 807ccd15ba Add solana-mint-demo CLI
This extends solana-mint with additional data that will be used by
both solana-client-demo and creating the demo's genesis block.
2018-04-26 08:42:34 -06:00
Robert Kelly 34d1805b54 Add FutureResult to return a Future that immediately resolves 2018-04-25 19:23:24 -07:00
rleungx 3da1fa4d88 improve the error messages 2018-04-21 21:52:55 +08:00
Stephen Akridge 8181bc591b Add -h/--help options for client-demo and testnode 2018-04-19 10:22:31 -07:00
rleungx 60015aee04 report serde parse errors to stderr 2018-04-19 23:51:57 +08:00
rleungx b91f6bcbff report parse errors to stderr 2018-04-19 22:24:46 +08:00
Greg Fitzgerald 0a30bd74c1 Tell verifiers when not to parallelize accounting
Without this patch, many batches of transactions could be tossed
into a single entry, but the parallelized accountant can only
guarentee the transactions in the batch can be processed in
parallel.

This patch signals the historian to generate a new Entry after
each batch. Validators must maintain sequential consistency
across Entries.
2018-04-12 21:08:53 -06:00
Greg Fitzgerald 3b9ef5ccab Fix the nightly build 2018-04-11 20:24:14 -06:00
Anatoly Yakovenko c934a30f66 commandline options for client and testnode 2018-04-09 21:14:52 -07:00
Stephen Akridge f4466c8c0a Change for cuda verify integration 2018-04-05 20:00:44 -07:00