Greg Fitzgerald
b5006b8f2b
Migrate to solana-keygen
...
Most of #593
2018-07-12 21:50:28 -06:00
Greg Fitzgerald
81c44c605b
Add solana-keygen
...
Same as solana-mint, but without a tokens field.
2018-07-12 14:06:43 -06:00
Greg Fitzgerald
28f6fbee23
Port all benchmarks to Criterion
2018-07-11 11:18:18 -06:00
Greg Fitzgerald
3144a70b18
Move all benchmarks to benches/
2018-07-11 11:18:18 -06:00
Greg Fitzgerald
cc89801b12
Port bank benchmark to Criterion
2018-07-10 19:38:29 -06:00
Michael Vines
22c0e3cd54
Metrics v0.1
2018-07-07 19:40:09 -07:00
Greg Fitzgerald
6806a14a3f
Use Cursor instead of tempfile.
...
Faster and one less dependency.
2018-07-02 09:51:39 -06:00
Greg Fitzgerald
e7b7dfebf5
Add tests for process_ledger()
2018-07-02 09:51:39 -06:00
Michael Vines
450f271cf7
Move public IP address detection out of bash
2018-06-29 21:12:05 -07:00
Tyera Eulberg
ba6a6f5227
Use clap crate for wallet CLI subcommands and arguments
2018-06-29 21:30:20 -06:00
Greg Fitzgerald
9a38d61048
Version bump
2018-06-29 21:23:50 -06:00
Michael Vines
0b56d603c2
Client NAT traversal 0.1
...
UPnP is now used to request a port on the NAT be forwarded to the local machine.
This obviously only works for NATs that support UPnP, and thus is not a panacea
for all NAT-related connectivity issues.
Notable hacks in this patch include a transmit/receive UDP socket pair to work
around current protocol limitations whereby the full node assumes its peer can
receive on the same UDP port it transmitted from.
2018-06-29 17:36:26 -07:00
Greg Fitzgerald
a9881aee05
Add base58-encoded addresses
2018-06-29 17:28:12 -06:00
Greg Fitzgerald
c4b62e19f2
Do Proof of History verification before appending entries to the bank
...
Note: replicate_stage is still using `process_entries()` because
changing it to `process_blocks()` causes the `test_replicate` test to
fail.
2018-06-29 15:35:39 -06:00
Greg Fitzgerald
c05416e27d
Turn simple-client-demo into a simpler wallet
2018-06-27 17:35:50 -06:00
Greg Fitzgerald
ed10841e3d
No longer spin up accounts for client-demo
...
Now that the Bank is single-threaded again, we can spin up new
accounts on the fly without concern of thread contention. Likewise,
we can send all transactions from a single account, which was also
problematic in the multi-threaded bank. Sending from one account will
also make client-demo straightforward to port to solana-drone.
2018-06-27 13:50:27 -07:00
Tyera Eulberg
ac40434cdf
Initial simple client demo commit
2018-06-27 13:01:29 -06:00
OEM Configuration (temporary user)
551f639259
Some pull request fixes(linting + documentation)
2018-06-26 12:31:04 -06:00
OEM Configuration (temporary user)
08bcb62016
added remote table to update respones
2018-06-26 12:31:04 -06:00
Greg Fitzgerald
c7ce454188
Use pnet_datalink instead of all of pnet
...
pnet_transport takes a long time to build. It's been especially
painful from within a docker container for reasons I don't care
to understand. pnet_datalink is the only part of pnet we're using
so booting the rest.
2018-06-24 10:39:59 -06:00
Greg Fitzgerald
25976771d9
Version bump
2018-06-22 22:38:18 -07:00
Tyera Eulberg
f31868b913
Rename drone bin; fix usage statement
2018-06-22 14:52:36 -07:00
Tyera Eulberg
e57dae0f31
Update config and dependencies for solana-drone
2018-06-22 14:52:36 -07:00
Greg Fitzgerald
410272ee1d
Update generic_array
...
Warning: this may have performance implications.
2018-06-20 11:41:54 -07:00
Greg Fitzgerald
7575d3c726
Add timestamp to log messages
...
Upgraded env_logger and now we have timestamps and colorful messages.
Fixes #318
2018-06-14 17:07:58 -06:00
Robert Kelly
7b7c7cba21
changed atty library
2018-06-13 19:17:21 -07:00
Greg Fitzgerald
e44d423e83
Make version syntax consistent
...
Using no symbol implies its a symver caret requirement.
https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html
2018-06-11 15:51:25 -06:00
Greg Fitzgerald
5435bb734c
Upgrade rand
2018-06-11 15:51:25 -06:00
Anatoly Yakovenko
849928887e
undo
2018-06-07 13:52:33 -06:00
Anatoly Yakovenko
ba1163d49f
fix logs
2018-06-07 13:52:33 -06:00
Greg Fitzgerald
4f5ac78b7e
Add readme to crates.io
2018-06-06 15:00:25 -06:00
Greg Fitzgerald
b66ebf5dec
Version bump
2018-06-01 17:10:37 -06:00
Greg Fitzgerald
53ecaa03f1
Need another beta
2018-05-31 19:08:09 -06:00
Greg Fitzgerald
205c1aa505
Version bump
2018-05-31 18:49:41 -06:00
Greg Fitzgerald
4b8c36b6b9
Add solana-fullnode-config
2018-05-31 16:15:02 -06:00
Greg Fitzgerald
c9fd5d74b5
Boot futures 0.1
...
We added them thinking it'd be a good stepping stone towards an
asynchronous thin client, but it's used inconsistently and where
it used, the function is still synchronous, which is just confusing.
2018-05-31 14:13:09 -06:00
Greg Fitzgerald
ef8eac92e3
Version bump
2018-05-29 20:33:45 -07: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
02ddd89653
Version bump
...
And solana.io -> solana.com
2018-05-25 15:37: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
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
Stephen Akridge
bd0671e123
Rework sig processing threads and add perf for process/verify
2018-05-08 11:49:29 -07:00
Greg Fitzgerald
6af3680f99
Version bump
2018-04-30 22:38:39 -06:00
Greg Fitzgerald
3cfb571356
Version bump
...
Former-commit-id: f7385e866207b3ec2269bac36d52ef1e7f09337c
2018-04-27 15:49:48 -07: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
Anatoly Yakovenko
d366a07403
add gregs abstract as an intro
2018-04-18 20:17:37 -07:00
Stephen Akridge
dea5ab2f79
Add erasure rust logic under feature flag
2018-04-18 19:42:09 -07: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
Anatoly Yakovenko
5ac7df17f9
Implement window service
...
Batch out of order blobs until we have a contigious window.
2018-04-03 13:53:19 -07:00
Greg Fitzgerald
e683c34a89
Version bump
2018-03-31 14:44:43 -06:00
Greg Fitzgerald
eaec25f940
Version bump
2018-03-29 15:05:38 -06:00
Greg Fitzgerald
7656b55c22
nit
2018-03-27 17:22:31 -06:00
Greg Fitzgerald
116166f62d
Rename project: silk -> solana
2018-03-27 16:25:12 -06:00
Greg Fitzgerald
26b19dde75
Rename project: silk -> solana
2018-03-27 16:19:28 -06:00
Greg Fitzgerald
caa9a846ed
Boot sha2-asm
...
Stick with pure Rust until someone can write a benchmark that
demonstrates that sha2-asm adds value. If we go with a GPU
implementation first, we may never need to do that.
2018-03-19 16:42:30 -06:00
Anatoly Yakovenko
069f9f0d5d
add ipv6 flag to cargo.toml
2018-03-11 12:53:16 -05:00
Anatoly Yakovenko
0135971769
Fast UdpSocket reader
...
* message needs to fit into 256 bytes
* allocator to keep track of blocks of messages
* udp socket receiver server that fills up the block as fast as possible
* udp socket sender server that sends out the block as fast as possible
2018-03-10 21:09:23 -06:00
Greg Fitzgerald
209910299d
Version bump
...
Next release probably won't have a compatible entry log with the
0.3.x line.
2018-03-09 14:33:37 -07:00
Greg Fitzgerald
957fb0667c
Deterministic historian/accountant hashes
...
When in tick-less mode, no longer continuously hash on the
background thread. That mode is just used for testing and
genesis log generation, and those extra hashes are just noise.
Note that without the extra hashes, with lose the duration between
events. Effectively, we distinguish proof-of-order from proof-of-time.
2018-03-09 06:58:40 -07:00
Greg Fitzgerald
8d17aed785
Process timestamps as they are added
2018-03-08 15:39:03 -07:00
Greg Fitzgerald
2379792e0a
Add DateTime and Cancel conditions
...
Fixes #32 , #33
2018-03-08 08:17:08 -07:00
Greg Fitzgerald
b6d8f737ca
Introducing, the mint
...
Use the mint to pair a new private key with new tokens.
2018-03-07 16:58:04 -07:00
Greg Fitzgerald
9b26892bae
Add a demo app to generate the genesis file
2018-03-04 01:21:40 -07:00
Greg Fitzgerald
11a0f96f5e
Add command-line tool for generating a genesis block
2018-03-03 17:35:05 -07:00
Greg Fitzgerald
4610de8fdd
Switch to sync_channel to preserve order
2018-02-28 19:33:28 -07:00
Greg Fitzgerald
3fcc2dd944
Add testnode
...
Fixes #20
2018-02-28 18:05:20 -07:00
Greg Fitzgerald
604ccf7552
Add network interface for accountant
2018-02-28 14:00:04 -07:00
Greg Fitzgerald
0443b39264
Allow event log to hold events of any serializable (hashable) type
2018-02-26 16:42:31 -07:00
Greg Fitzgerald
944181a30e
Version bump
2018-02-24 11:06:08 -07:00
Greg Fitzgerald
08e501e57b
Extend the event log with a Claim event to claim possession
...
Unlike a Discovery event, a Claim event associates a public key
with a hash. It's intended to to be used to claim ownership of
some hashable data. For example, a graphic designer could claim
copyright by hashing some image they created, signing it with
their private key, and publishing the hash-signature pair via
the historian. If someone else tries to claim it as their own,
the designer can point to the historian's log as cryptographically
secure evidence that the designer's copy existed before anyone
else's.
Note there's nothing here that verifies the first claim is the actual
content owner, only that the first claim almost certainly happened
before a second.
2018-02-24 10:09:49 -07:00
Greg Fitzgerald
513a1adf57
Version bump
2018-02-21 12:01:17 -07:00
Greg Fitzgerald
fa4e232d73
Add serialization/deseriation support to event log
...
See bincode and serde_json for usage:
https://github.com/TyOverby/bincode
Fixes #1
2018-02-20 16:26:13 -07:00
Greg Fitzgerald
d97112d7f0
Explain proof-of-history in the readme
...
Also:
* Hash userdata so that verification works as the readme describes.
* Drop itertools package. Found a way to use std::iter instead.
Fixes #8
2018-02-20 14:04:49 -07:00
Greg Fitzgerald
e57bba17c1
Version bump
2018-02-19 16:59:41 -07:00
Greg Fitzgerald
0297edaf1f
Use sha256 hashes instead of Rust's builtin hasher.
...
Causes a 20x performance degradation. Enabling asm did not
speed things up.
2018-02-19 16:23:53 -07:00
Greg Fitzgerald
d88d1b2a09
Reset historian's hasher between events
...
Hasher will generate different hashes for the same input if it
had already generated a hash.
Also add a binary to ensure the example in the README works.
2018-02-19 12:03:06 -07:00
Greg Fitzgerald
a7186328e0
Add docs
...
Fixes #11
2018-02-19 09:27:14 -07:00
Greg Fitzgerald
b7a95ab7cc
Re-add docs link
2018-02-16 12:40:33 -07:00
Greg Fitzgerald
bf35b730de
More metadata
2018-02-16 12:37:20 -07:00
Greg Fitzgerald
ebe00f40fa
Version bump
2018-02-16 12:24:55 -07:00
Greg Fitzgerald
ae41de91c2
Fix codecov badge url
2018-02-16 12:19:32 -07:00
Greg Fitzgerald
daa594cc64
Use SPDX identifier for license name
2018-02-16 12:17:28 -07:00
Greg Fitzgerald
6a04ccca5b
Add description and badge
2018-02-16 12:11:51 -07:00
Greg Fitzgerald
48ec84c399
Prep for ownership transfer and rename
2018-02-16 11:53:14 -07:00
Greg Fitzgerald
da01f45d39
Rename the project
2018-02-16 11:49:21 -07:00
Greg Fitzgerald
306619c2a9
Upgrade dependencies
...
* This patch assumes Travis is already pointing 'stable' to 1.24
2018-02-15 15:26:52 -07:00
Greg Fitzgerald
b5645bc776
Rename project
2018-02-15 13:59:33 -07:00
Greg Fitzgerald
31d79727b6
Parallelize verification
2018-02-14 15:23:13 -07:00
Greg Fitzgerald
bad95b7712
cargo init
2018-02-14 07:23:59 -07:00