Commit graph

276 commits

Author SHA1 Message Date
yeastplume
7dcbb8824d clarify transaction weight on diagram 2018-02-12 13:22:59 +00:00
yeastplume
2639f13710 error fix 2018-02-12 13:02:05 +00:00
yeastplume
f22f9d83be adding transaction workflow diagram, for reference 2018-02-12 12:55:08 +00:00
Simon B
765996a630 rustfmt install instruction gotcha (#663)
* rustfmt install instruction gotcha

rustfmt stopped working for me. It turns out people started having trouble with this last year already https://github.com/rust-lang-nursery/rustfmt/issues/2304

* rustfmt on a single file now works! Secrets inside

After `rustup component add rustfmt-preview` I get rustfmt as a command in my terminal.

`rustfmt --help` reveals --write-mode [replace|overwrite|display|plain|diff|coverage|checkstyle] and we've been using the default which is either `overwrite` or `replace` (depending on rustfmt version) and this was changing a bunch of files and a messed up workflow.

* Newcomer-friendly explanation how to use `rustfmt`
2018-01-30 08:36:18 -05:00
AntiochP
7e7c8e157e
coinbase maturity and output lock height docs (#597)
* wip - coinbase maturity and output lock height docs

* tbd spend an output

* expand on how we prove ownership of an output to spend it

* add proposed solution

* fixup output hash description
2018-01-16 07:46:49 -05:00
Brian Anderson
31f91dc487 Minor edits to FAQ (#602)
* Fix markup in faq

* faq: 'level 2' -> 'layer 2'

* faq: 'waller' -> 'wallet'

* Fix markup in TOC
2018-01-12 09:43:31 +00:00
Ignotus Peverell
bc171a4423
A bit more doc on pruning and validation 2018-01-10 19:57:47 +00:00
yeastplume
c805f67020 adding clang dependency to build doc 2018-01-03 10:14:59 +00:00
udiWertheimer
23e045d9b7 Add another rocksdb compile error fix to FAQ entry (#565)
On Fedora, Linux headers aren't enough to build `rocksdb`, as suggested in #549. `clang` is also required. Adds note to troubleshooting to help with this.
2018-01-03 01:05:56 +00:00
Harm Aarts
dc3a2113bd Add rocksdb compile error help (#563)
* Add minor document fixes

- fix broken link
- fix shell command formatting
- fix typo

* Add FAQ entry dealing with rocksdb

When compiling Grin without Linux headers the build process exits with
an opaque error message. Adding the header files fixes this.

References #549.
2017-12-31 21:47:26 +00:00
Ignotus Peverell
74ba0d5e88
Fix small typo and remove traling spaces at PoW docs (#534)
Fix small typo and remove traling spaces at PoW docs
2017-12-21 19:32:43 +00:00
Simon B
99186e90f0 better error messages + some cleanup (#497)
* distinguish select (among futures) from select coins. Regex search in project for select\b shows we hardly use select, but maybe could use it to add timeouts more cleanly. ("Want to add a timeout to any future? Just do a select of that future and a timeout future!" from https://aturon.github.io/blog/2016/08/11/futures/)

* remove a trailing space

* FAQ.md - fix typo

* wallet: display problematic tx

* update FAQ build troubleshooting to cover #443

* stdout_log_level = Info
file_log_level = Debug

* sync: show total diff @ height when syncronization is completed

* better wallet send dest format error

* move INFO "Client conn ... lost" and "Connected to peer" down to Debug

* move some level=Info to Debug, add 1000-block outputs
2017-12-18 08:17:11 -05:00
Roman Zeyde
6bdc28e4e0 Fix small typo and remove traling spaces at PoW docs 2017-12-15 10:14:14 +02:00
Simon B
c59f3ddb7c add doc/FAQ#troubleshooting for serde_json version select error + link to it from build.md (#487) 2017-12-14 13:07:26 -05:00
Andrew Bellenie
7ef752f61c Breakout listen -i to separate method (#337)
* Rename wallet 'receive' to 'listen'
* Handle use of previous 'receive' command gracefully and clarify docs
* Move listen port from main wallet config to subcommand and break input out into own file method
* Clean up arg description
* Add placeholder to docs for file method in wallet
* Tidy wallet help text
* Rename pending wallet 'receive' to 'request'
* Restore receive method for file based transactions
2017-12-14 01:13:04 +01:00
Michalis Kargakis
e13f622395 Add docs about cross-compiling ARM binaries (#457) 2017-12-10 18:42:39 +00:00
Maxime
fa91e4dc15 homogenize MimbleWimble writing (#438) 2017-12-07 16:13:36 -05:00
Jeremy Bokobza
19da9ad1e0 Small documentation improvements (#418) 2017-12-05 00:57:03 +00:00
AntiochP
d3e5acccf9
initial docs and images to describe receiving a block and simple sync. (#405)
* intial docs and images to describe receiving a block and simple sync.

* add some more description text

* svg -> png

* updated simple_sync diagram to include sync_head

* rename "block head" -> "body head"

* wip - sync_on_form diagram (kill me now)

* tidy up diagram for "sync on fork"

* consolidate the chain docs
2017-12-04 15:35:18 -05:00
Simon B
90a1187bf7 doc/wallet: replace all [tbd] with some minimal text, partly from grin help wallet ... (#391) 2017-11-28 21:22:46 -05:00
bit
29b4a6df40 Doc fix: wallet receive -> wallet listen (#357) 2017-11-28 21:22:04 -05:00
Simon B
0fb15641fe Add doc/usage that explains status and functionality grin at Testnet1 (#392) 2017-11-25 12:59:17 -05:00
Simon B
b21da1cbb6 FAQ: corrections (#390)
* FAQ: fix capitalization
* FAQ: friendlier answers. Move Q: crash/hangs under the Troubleshooting section
* FAQ: add missing A for block size/target mean time
* FAQ: Add link to grintest.net (see also #325)
* FAQ corrections
- link to Scripting discussion
- Quantum unsafe, says A.P.
2017-11-25 12:44:05 -05:00
Simon B
ce82c82b0d Add doc/table_of_contents.md (#311)
* add doc/table_of_contents, initial attempt, based on https://lists.launchpad.net/mimblewimble/msg00024.html
And explain and link to build.md about creating folders server and wallet manually.
* add Files in this folder (doc)
* rename headlines
* docs: extract code and directory structure to code_structure.md
2017-11-20 19:06:51 -05:00
Michalis Kargakis
1f0808fc24 Markdown fixes + gitignore addition (#334)
* Markdown fixes in doc/build.md

Signed-off-by: Michalis Kargakis <mkargaki@redhat.com>

* Ignore grin.log and wallet.seed
2017-11-20 14:33:35 +00:00
Andrew Bellenie
2d1ed9ba52
Fix for issue #318 (#323)
* Rename wallet 'receive' to 'listen'
* Handle use of previous 'receive' command gracefully and clarify docs
2017-11-19 01:55:26 -05:00
Andrew Bellenie
2e87f40b91 Add note about memory requirements to build docs (#301) 2017-11-17 19:42:21 -05:00
Simon B
c426d79ecc FAQ, first attempt (condensed from gitter chat) (#298) 2017-11-17 19:12:55 -05:00
windsok
10380c0ce0 Update build.md (#284)
* Add required minimum version for Rust (Build fails on Ubuntu 16.04 LTS with 1.17.0, but works fine with a manual install of 1.21.0, so I am assuming that 1.21.0 is the minimum)
* Make it clearer that grin.toml needs to be copied into the server directory
2017-11-16 23:18:45 -05:00
Yeastplume
341269d95f
Testnet doc (#278)
* attempt to continue if duplicate coinbase commit is found

* updating docs for testnet
2017-11-16 19:58:41 +00:00
Daniel Tsui
d7fd730153 Correct dir name in advanced example+fix typo (#262)
This PR clarifies the directory name in the advanced example of `build.md`, and fixes a minor typo.
2017-11-13 20:27:53 -05:00
AntiochP
54dbda6bc2
advanced example wallet needs to point to node api 2017-11-12 13:58:51 -05:00
Yeastplume
024a016bce small doc fix 2017-11-07 21:49:03 +00:00
clwmckenna
81bd764fd0 Update build.md (#231)
Add info about config files
2017-11-03 12:45:05 -04:00
bgmrk
4dfa7c1770 Update grin4bitcoiners.md with basic supply information (#227) 2017-11-02 19:38:37 -04:00
Ignotus Peverell
e4ebb7c7cb
Cleanup HTTP APIs, update ports to avoid gap, rustfmt
Moved the HTTP APIs away from the REST endpoint abstraction and
to simpler Hyper handlers. Re-established all routes as v1.
Changed wallet receiver port to 13415 to avoid a gap in port
numbers.

Finally, rustfmt seems to have ignored specific files arguments,
running on everything.
2017-10-31 19:42:56 -04:00
Jeremy Bokobza
508349e799 intro.md review (#202) 2017-10-31 18:50:36 -04:00
AntiochP
68cfbbecad "grin wallet init" to create the initial wallet.seed file (#198)
* "wallet init" to create the initial wallet.seed file
* cleanup and better error msgs
* add some basic wallet docs
* cleanup and make passphrase optional
2017-10-24 17:34:34 +00:00
Ignotus Peverell
1582ec4e73
Fixing repository links after move 2017-10-23 17:20:32 +00:00
bgmrk
7f0d638107 Contract Ideas (#194)
* Contract Ideas - Began to catalogue mentions of different contract ideas from the email list.
* Add files via upload
2017-10-23 16:32:15 +00:00
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