f5f71a19b8
First go at smart contracts
...
Needs lots of cleanup.
2018-03-10 22:00:48 -07:00
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
8579795c40
Ensure transactions won't get canceled after next refactor
2018-03-10 19:44:45 -07:00
9d77fd7eec
Store only spending plans, not full transactions
2018-03-10 18:35:10 -07:00
8c40d1bd72
Move spending endpoints into expressions
2018-03-10 17:41:18 -07:00
7a0bc7d888
Move smart contract fields into their own struct
2018-03-10 16:55:39 -07:00
1e07014f86
Merge pull request #62 from garious/batch-events
...
Batch events
2018-03-09 17:37:02 -07:00
49281b24e5
Move Tick out of Event
...
Every Entry is now a Tick and the entries contain events.
2018-03-09 17:22:17 -07:00
a8b1980de4
Restore reorder attack test
2018-03-09 17:02:17 -07:00
b8cd5f0482
Boot Cargo.lock from git
...
Only add Cargo.lock to downstream dependencies.
2018-03-09 16:26:26 -07:00
cc9f0788aa
Batch events
...
It's now a Tick that locks down event order. Before this change, the
event order would be locked down in the order the server sees it.
Fixes #59
Fixes #61
2018-03-09 16:16:33 -07:00
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
17926ff5d9
Merge pull request #58 from garious/deterministic-historian
...
Deterministic historian/accountant hashes
v0.3.3
2018-03-09 07:06:40 -07:00
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
8d17aed785
Process timestamps as they are added
v0.3.2
2018-03-08 15:39:03 -07:00
7ef8d5ddde
Lock down dependencies
2018-03-08 13:25:40 -07:00
9930a2e167
With v0.3.1 published to crates.io, you can now run silk without git
2018-03-08 11:42:06 -07:00
a86be9ebf2
Merge pull request #56 from garious/add-conditions
...
Add conditions to transactions
v0.3.1
2018-03-08 11:15:31 -07:00
ad6665c8b6
Complete timestamp and signature transactions
2018-03-08 11:06:52 -07:00
923162ae9d
WIP: process timestamps
2018-03-08 10:19:54 -07:00
dd2bd67049
Add a barebones test for transaction conditions
2018-03-08 08:58:34 -07:00
d500bbff04
Add public key to mint
...
This turns the mint into a handy way to generate public keys
without throwing the private key away.
2018-03-08 08:33:00 -07:00
e759bd1a99
Add conditions to the signature to reject duplicates
2018-03-08 08:18:34 -07:00
94daf4cea4
Add Cancel and Timestamp events
...
Fixes #31 , #34 , #39
2018-03-08 08:17:34 -07:00
2379792e0a
Add DateTime and Cancel conditions
...
Fixes #32 , #33
2018-03-08 08:17:08 -07:00
dba6d7a8a6
Update README.md
2018-03-07 17:20:40 -07:00
086c206b76
Merge pull request #55 from garious/the-mint
...
More intuitive demo, introducing The Mint
2018-03-07 17:18:24 -07:00
5dd567deef
Rename Genesis to Mint
...
Genesis is a story of creation. We should only use that term to
for the event log that bootstraps the system.
2018-03-07 17:08:15 -07:00
b6d8f737ca
Introducing, the mint
...
Use the mint to pair a new private key with new tokens.
2018-03-07 16:58:04 -07:00
491ba9da84
Add accessors to keypairs and signatures
2018-03-07 15:32:22 -07:00
a420a9293f
Fix demo
2018-03-07 11:37:30 -07:00
c1bc5f6a07
Merge pull request #54 from garious/imperative-genesis
...
Boot genesis block helper
2018-03-07 11:19:16 -07:00
9834c251d0
Boot genesis block helper
...
Before this change, if you wanted to use a new Transaction
feature in the genesis block, you'd need to extend its
Creator object and associated methods. With yesterday's
addtions to Transcation, it's now so easy to work with
Transactions directly that we can get rid of the middleman.
Also added a KeyPair type alias, so that ring could be easily swapped
out with a competing library, if needed.
2018-03-07 11:10:15 -07:00
54340ed4c6
Delete debugging println
...
Thanks @jackson-sandland!
2018-03-06 21:17:41 -07:00
96a0a9202c
Update README.md
2018-03-06 21:12:50 -07:00
a4c081d3a1
Merge pull request #53 from garious/monorphic-entry
...
Monomorphisize Entry and Event
2018-03-06 20:39:11 -07:00
d1b6206858
Monomorphisize Entry and Event
...
Transaction turned out to be the only struct worth making generic.
2018-03-06 20:29:18 -07:00
0eb6849fe3
Merge pull request #52 from garious/add-transaction-struct
...
Break dependency cycle
2018-03-06 17:53:48 -07:00
b725fdb093
Sha256Hash -> Hash
...
Because in Loom, there's just the one. Hopefully no worries that it
shares a name with std::Hash.
2018-03-06 17:40:01 -07:00
1436bb1ff2
Move entry into its own module
...
Hmm, Logger doesn't depend on log.
2018-03-06 17:40:01 -07:00
5a44c36b1f
Move hash into its own module
2018-03-06 17:40:01 -07:00
5d990502cb
Merge pull request #51 from jackson-sandland/50-proof-read-README
...
Issue #50 - proof read README
2018-03-06 17:39:33 -07:00
64735da716
Issue #50 - proof read README
2018-03-06 16:21:45 -08:00
95b82aa6dc
Merge pull request #49 from garious/add-transaction-struct
...
DRY up transaction signing
2018-03-06 16:48:27 -07:00
f09952f3d7
DRY up transaction signing
...
Cleanup the big mess I copy-pasted myself into.
2018-03-06 16:34:25 -07:00
b98e04dc56
Update README.md
2018-03-06 15:03:06 -07:00
cb436250da
Merge pull request #48 from garious/add-transaction-struct
...
data -> asset
2018-03-06 15:01:56 -07:00
4376032e3a
data -> asset
...
'data' is too vague.
2018-03-06 14:50:32 -07:00
c231331e05
Merge pull request #47 from garious/add-transaction-struct
...
Reorg
2018-03-06 12:57:49 -07:00
624c151ca2
Add signature module
...
Because things other than transactions can be signed.
2018-03-06 12:48:28 -07:00