Commit graph

402 commits

Author SHA1 Message Date
AntiochP
8269bdd873 Rework wallet coin selection to select a max of 500 outputs (#265) 2017-11-14 18:54:28 -05:00
AntiochP
c2a95637b3 more robust peer handling (#244)
* use HashMap internally for tracking connected peers (to avoid duplicates)
* reuse the handshake on the server so we can track our own nonce to avoid self connections correctly
* make sure we start up the clean_peers loop even in seedless mode
* logging in monitoring peers loop
* simplify monitoring for no seeds
* fixup and cleanup simulnet tests (real seeds in places)
* only start the sync if we have either seeds or peers that we know about, exit syncer safely if we have no connected peers
2017-11-14 13:57:16 -05:00
Yeastplume
855602e98a
add flag to show spent outputs in wallet output command (#263) 2017-11-14 16:13:58 +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
10a1ddf5e8 Use consensus rule that minimum difficulty is 10 (#251) 2017-11-13 19:45:10 -05:00
AntiochP
596bbd9b6e
add premined pow solution for cuckoo16/UserTesting (#260)
* add premined pow solution for cuckoo16/UserTesting
faster startup time

* only check premined solution on genesis block (height 0)
2017-11-13 10:24:49 -05:00
AntiochP
54dbda6bc2
advanced example wallet needs to point to node api 2017-11-12 13:58:51 -05:00
AntiochP
04eb400422
add "smallest first" strategy for coin selection (#256) 2017-11-10 14:33:36 -05:00
AntiochP
8f33c7e0fe
cache key_id->derivation in the keychain (#253) 2017-11-10 10:12:15 -05:00
Yeastplume
b831192335
added wallet info/outputs commands with pretty printing (#254)
* added wallet info/outputs commands with pretty printing

* added confirmed but locked to display output
2017-11-10 14:03:31 +00:00
AntiochP
2238495d23
rename JSONPartialTx -> PartialTx (#252) 2017-11-09 15:42:19 -05:00
AntiochP
c1656f7660
use the static secp instance everywhere (except the wallet) (#250) 2017-11-09 14:26:45 -05:00
Yeastplume
a0c0d6f382
nonmenclature for mining graphs per second (#248) 2017-11-09 15:14:25 +00:00
Yeastplume
f978f43fd5 updating cuckoo-miner tag to support cuda 9 and parallel cuda device fixes 2017-11-08 22:02:26 +00:00
Yeastplume
5b47da907f
fixing issue where wallet outputs become spent when api server doesn't exist (#242) 2017-11-08 00:44:20 +00:00
Yeastplume
024a016bce small doc fix 2017-11-07 21:49:03 +00:00
Yeastplume
4b9b74876e updating contribution guidelines with info on how to submit documentation changes 2017-11-07 21:45:52 +00:00
Yeastplume
1eeb1fae22
Wallet amounts (#241)
* allow selecting a commit while providing a key index

* misnamed variable

* added static reference to libsecp that can be called throughout

* don't serialise rangeproof to json if it's not desired

* forgotten new file

* amounts input and displayed in wallet are now in full grins, with optional decimal place

* rustfmt

* merge branch

* better acknowledgement of transaction being sent
2017-11-07 21:20:36 +00:00
Yeastplume
48a60858ba Wallet output selection performance (#238)
* allow selecting a commit while providing a key index
* added static reference to libsecp that can be called throughout
* don't serialise rangeproof to json if it's not desired
2017-11-07 11:48:37 -05:00
Ignotus Peverell
8f0373b81e
Fix #235 sumtree size double-counting rm log 2017-11-04 13:34:33 -04:00
Ignotus Peverell
8f78b74d67
Preventing save of loopback IPs, fix #236 2017-11-03 19:08:04 -04:00
Ignotus Peverell
15705b3fa1
Detect unspecified IP and use TCP conn IP instead 2017-11-03 16:47:35 -04:00
AntiochP
ad07866275 iterate once over txs in a block (#233)
Split out verify_sig and build_kernel to make kernel explicit.
2017-11-03 14:17:09 -04: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
AntiochP
17bf3c2702 default wallet receive to listen on 127.0.0.1 (#229)
* default wallet receive to listen on 127.0.0.1, optional flag on wallet command to listen on 0.0.0.0
* fix simulnet for new wallet port/interface config
2017-11-02 16:19:22 -04:00
AntiochP
8a42a692ce add new /v1/peers endpoints to the api (#225)
* add new /v1/peers endpoint to the api
* /peers/connected and /peers/all endpoints
2017-11-02 12:49:33 -04:00
Ignotus Peverell
8ded5e23cf
Slight increase of retry on block download before give up 2017-11-01 22:52:10 -04:00
Ignotus Peverell
dbaba8aed5
Order block elements when block is built 2017-11-01 22:18:51 -04:00
Ignotus Peverell
5b462ee2fc
Allowing for dumping of larger sum trees on error 2017-11-01 19:32:49 -04:00
Ignotus Peverell
47255f1250
Fix server run mode when passing a seed
It looks like clap has become more greedy in passing repeating
options. So passing -s for seeds eats up the command right after.
Only allowing a single seed for now (and we could improve that
with a colon separator later).
2017-11-01 19:00:28 -04:00
Ignotus Peverell
362fbcf90f
Proper p2p remote address detection when accepting conn
A receiving peer trusts the address advertised by a client.
However as we do not have external address detection (and there is
generally no very good way to do that), the address detected by
a peer is the loopback, which is useless. So we attempt to detect
these cases and use the IP detected by the TCP connection while
keeping the advertised port.
2017-11-01 18:56:59 -04:00
Ignotus Peverell
de1cdddfb9
Don't burn reward by default 2017-11-01 16:33:32 -04:00
AntiochP
9e36b820f6
fix the wallet receiver api (#222) 2017-11-01 14:32:34 -04:00
Ignotus Peverell
7a803a8dc1
Missing macro use in keychain 2017-10-31 20:22:27 -04:00
Ignotus Peverell
f7ddd6b3d3
Fix couple minor import errors after rebase 2017-10-31 20:00:39 -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
Yeastplume
05d22cb632
changing secp import to tag, and consolidating Cargo.toml import (#220) 2017-10-31 23:20:55 +00:00
Jeremy Bokobza
508349e799 intro.md review (#202) 2017-10-31 18:50:36 -04:00
Yeastplume
914810713d Add test for switch commit consistency (#219) 2017-10-31 17:20:11 -04:00
Ignotus Peverell
283b846243
Small fix to chain tip check for send 2017-10-30 21:35:43 -04:00
Yeastplume
e45593b1db Sumtree mmap fix (#217)
* fix mmap error with version 0.6.0, and change reference to include tag
2017-10-30 12:43:49 -04:00
Yeastplume
7f8d307cc8 Sum tree and improved chain API Endpoints (#214)
* adding more useful handlers
* added method to return last n leaf nodes inserted into the sum tree
* endpoints in place for getting last n sumtree nodes
2017-10-27 21:57:04 +00:00
AntiochP
8b324f7429 add retry logic to miner when hitting wallet coinbase API (#213)
* mount v2 router for flexibility, wallet checker now refreshes multiple outputs via single api call
* fix the api router
* wallet api handlers, miner uses wallet_client
* retry logic via tokio_retry, miner creates new coinbase output via wallet API (retries several times)
* move wallet client into wallet crateand rework the lock acquisition logic to use tokio_retry
2017-10-27 17:36:03 +00:00
Ignotus Peverell
efe414bf07 No send back for blocks and transactions (#212)
* Do not send txs and blocks to senders. Keeps a ring buffer of transaction and blocks hashes that a peer has received. Do not send what we've already received.
* Test fix and fmt
2017-10-26 17:48:51 +00:00
AntiochP
68bcd79da5 height 0 means we have 0 confirmations (cut-through output?) (#211) 2017-10-26 17:41:08 +00:00
AntiochP
d7b94a12f5 only hold wallet write lock for write operations on the wallet (#210)
* mount v2 router for flexibility, wallet checker now refreshes multiple outputs via single api call
* add read_wallet so we can read without acquiring the lock
* fix the api router
* read wallet without acquiring or holding lock, only acquire the write lock for wallet when updating or adding outputs
2017-10-25 21:09:34 +00:00
Ignotus Peverell
e2e24bc38e Transaction broadcast (#209)
* Add transaction broadcast to all known peers once they have been
accepted by our own transaction pool.
* Some debug log

Fixes #200
2017-10-25 21:06:24 +00:00
AntiochP
7178b400b8 refresh multiple wallet outputs in single api call (#205)
* mount v2 router for flexibility - wallet checker now refreshes multiple outputs via single api call
* fix the api router
2017-10-25 17:57:48 +00:00
Ignotus Peverell
17837b9199
Get the sumtree roots outside of an extension 2017-10-24 18:12:32 +00:00