Commit Graph

36 Commits

Author SHA1 Message Date
Ignotus Peverell 837ef0fd03 Added detail about kernel sticking around 2017-10-17 03:20:31 +00:00
Yeastplume 8f76746e84 Switch commitments (#179)
* Adding switch commit to grin outputs
* logging output fix
* adding switch commitment hash to sum tree node
* added hash_with to Hashed trait, to allow for hashing to include another writeable element
* adding hash_with as method in hashed trait
2017-10-16 21:23:10 +00:00
Ignotus Peverell 472912c68c Added clarification about block struct 2017-10-15 20:44:34 +00:00
Ignotus Peverell dd90031902 Doc tweaks after feedback 2017-10-15 20:44:34 +00:00
Yeastplume 49797853d9 tweaks to logging configuration (#176)
* tweaks to logging configuration
* doc port update
2017-10-13 16:42:04 +00:00
Ignotus Peverell dda10a6dee Wrong extensions 2017-10-13 05:12:39 +00:00
Ignotus Peverell 77ce116eda Small guide and FAQ for people coming from a bitcoin background 2017-10-13 05:11:42 +00:00
Yeastplume 8e382a7593 slog-rs logging (#171)
* added global slog instance, changed all logging macro formats to include logger instance
* adding configuration to logging, allowing for multiple log outputs
* updates to test, changes to build docs
* rustfmt
* moving logging functions into util crate
2017-10-12 16:56:44 +00:00
Yeastplume da21388131 wee warning cleanup + build doc updates (#156)
* warning cleanup
* test compilation
* clarification on architecture in build doc, path export statement fix
2017-10-06 16:46:18 +00:00
Ignotus Peverell 36bcd3cc39 Integrate sum trees with the rest of the system (#116)
* Integrate PMMR and its persistent backend with the Chain
* Chain can set tree roots; PMMR backend discard
* Check spent and prune for each input in new block
* Handling of forks by rewinding the state
* More PMMR tests and fixes, mostly around rewind
* Rewrite get_unspent to use the sumtrees, fix remaining compilation issues
2017-09-27 23:46:32 +00:00
Yeastplume 53d9ca630c Cuckoo-miner update - Multiple Plugin mining (#139)
* Adding ability to load multiple mining plugins in parallel via cuckoo miner
* updating with newest cuckoo-miner changes
* revert default config value
* update pow document with link to podcast
2017-09-26 17:58:56 +00:00
Seamus Finnigan 33688e9958 Small formatting, typographical, and grammatical edits to documentation (#117)
* Fix indentation issue on structured list
* Fix small typographical and grammatical errors in docs
2017-09-07 18:19:19 +00:00
Yeastplume 798849d7e9 Range Proof doc and intro update (#114)
* adding rangeproof doc
* changes to intro doc to represent range proofs
* updating build and config doc with info on platforms and the configuration file
* added reference to introduction document
2017-09-06 22:38:55 +00:00
AntiochP 510d7fc331 git pre-commit hook to run rustfmt on modified files (#110)
* git pre-commit hook to run rustfmt on modified files
* add docs for rustfmt
* add CONTRIBUTING file
2017-09-01 00:54:15 +00:00
Yeastplume 3bf06ecd6a Cuckoo miner with cmake update (#103)
* updating to use cuckoo-miner latest, which uses cmake
* check on travis CI dependency
2017-08-24 21:43:11 +00:00
Riccardo Casatta 6772d9f516 various typos in docs (#95)
* various typos in docs
* fix a number in comments
2017-08-21 16:56:26 +00:00
Ignotus Peverell 20e3382785 Merkle doc: fix typos, clarify diagram 2017-07-24 21:37:14 +00:00
Ignotus Peverell 1d68a64edc Extend MMR doc with storage design 2017-07-24 17:41:30 +00:00
Ignotus Peverell 01b66de437 Replace SHA3 with BLAKE2b everywhere 2017-07-20 13:52:33 +00:00
Yeastplume 8974cbc12c POW Doc updates (#73)
* Clarifications to SHA3 hash and addition of progress-freeness concept in Pooling Capacity
* Update to cuckoo cycle details based on John Tromp's comments.
* A couple of typos
* More clarifications based on John Tromp's feedback
2017-07-03 17:39:20 +02:00
Yeastplume efcbea3307 Clarifications to SHA3 hash and addition of progress-freeness concept in Pooling Capacity (#72) 2017-07-02 23:28:17 +02:00
Yeastplume 97b7421ce0 Mining test debug output, fixes to diff. adjustment and start of POW documentation (#69)
* Beginning to add a POW description, and some minor changes to mining testing, addition of further debug information to mining output.
* Many additions to create first draft of POW documentation
* Fixes to difficult adjustments by adding a MINIMUM_DIFFICULTY consensus value. Otherwise never adjusted above 1 due to flooring.
2017-06-29 16:49:11 +02:00
Yeastplume 5f8a0d9f1c Wallet HTTP posting, fixes and additions to port address configurability. (#66)
* Starting to refactor test, adding http post to wallet sender
* Implemented ability to run servers on different ports (mostly for testing), and implemented ability to post http requests directly to receiving wallets
* Adding detailed instructions on running multiple servers on the same machine
* Changes to build.doc to outline server running process
* Removed unwanted debug statements
* WIP Local server testing framework evolution
* More refactoring of server pool, checked in because there's a problem
* Added server reference structure, and ability to return server references from tests cleanly
* Added simulate_parallel_mining test, which puts some artificial slowdown into test mining loops, and the difficulty can currently be watched in the log
* Removing the ServerRef structure placed in earlier and replaced with a ServerStats structure, that just returns relevant info about the Server state without exposing it to the world
2017-06-27 04:09:01 +02:00
Ignotus Peverell 55eb2f6887 Fixed vagueness on 2nd curve 2017-06-17 20:22:20 -07:00
MoaningMyrtle 23fd07be60 WIP: Tracking Transaction Pool Implementation (#48)
* Beginning work on pool design doc
* Refining data structures; adding connect capability
* Fleshing out the connectivity paths for the tx pool
* Bringing tx pool and orphan set add logic up into parent TransactionPool
* Use output's commitment as identifier in graph structures
* Breaking a bunch of stuff to start migration to output commitment as id instead of hash
* Wrapping up updates to pool using commitment keys, dummy blockchain. Contains lots of cleanup on the internal flow.
* Beginning work on new block reconciliation
* WIP: Replacing monolithic pool cleanup with mark-and-sweep, which greatly simplifies the logic.
* Laying the groundwork for pool tests; test tx generator
* WIP: More elaborate test helpers; starting work on more elaborate block acceptance test.
* Need DummyUtxoSet to actually apply blocks now
* Using search_for_best_output to validate output status in test_basic_pool_add
* Enable modification of chain while under shared pool ownership. Cleanup pending
* WIP: Begining to untangle the TransactionPool impl from Pool and Orphans data structures
* Finishing refactoring of pool block reconciliaition; getting tests working again
* Add metrics for graph sizes; prereq to pool size throttling
* Remove redundant search_for_available_output from pool graph container
* Minimum viable block builder: return all fully rooted txs
* Tests for block building procedure
* Delegate duplicate output checking to check_duplicate_outputs
* Delegate orphan reference resolution to resolve_orphan_refs
2017-05-19 17:22:08 +02:00
dan-da 6122152003 Add some basic build instructions to help people get started (#50) 2017-05-03 13:56:03 -07:00
gabriel-syme 2787d4259a Typo in intro doc: two inputs and one output (#45)
* vi1 and vi2 as input values. (2 inputs)
* vo3 as output value. (1 outputs)
2017-04-30 20:00:40 -07:00
Simon Horne 94539c768e Typo in intro doc: when->which (#47) 2017-04-30 19:59:39 -07:00
Ignotus Peverell 38d5d67e79 Add features bitmask to Block, Output, Kernel; coinbase validation
Block, Output and Kernel now have bitmasks to hold supported
features and eventually versioning. Will make adding features and
updates easier and open the possibility of soft forks.

First added feature for Output and Kernel is the marking of coinbase
related ones. Allows the validation of the coinbase part of a block.
2017-03-23 17:06:00 -07:00
Ignotus Peverell f9f69dea25 Small tweaks to intro doc following John Tromp's review
* Various typo fixes and minor improvements.
* Switch from v*G + k*H to r*G + v*G as symbols to stay more consistent
with the rest of the litterature.
2017-03-21 14:05:10 -07:00
Ignotus Peverell 95592d6624 Introduction to MimbleWimble and Grin
Documentation aimed at a technical audience, just requiring some basic
knowledge of bitcoin, to explain how MimbleWimble works and how it's
applied in Grin.
2017-03-20 09:57:54 -07:00
Ignotus Peverell dda223f25b Chain logic to support multiple forks, select the most worked fork as the head. Significantly simplified from the original direction as it doesn't seem that explicitly materializing forks is necessary. Simple total difficulty accounting in block headers helping a lot there. 2017-01-09 15:16:44 -08:00
Ignotus Peverell 8dac7580c6 Minor typos. 2017-01-02 14:56:58 -08:00
Ignotus Peverell 167f166f21 First pass at documenting syncing algorithms when a new node joins the network. 2017-01-02 14:51:07 -08:00
Ignotus Peverell 2e23c64448 Intro to pruning doc, just some facts and size data. 2016-11-08 09:50:13 -08:00
Merope Riddle 7b3095ac12 Add design document for Merkle tree structures 2016-11-07 17:58:54 +00:00