Minimal implementation of the Mimblewimble protocol.

Overview

Build Status Coverage Status Chat Support Documentation Wiki Release Version License

Grin

Grin is an in-progress implementation of the Mimblewimble protocol. Many characteristics are still undefined but the following constitutes a first set of choices:

  • Clean and minimal implementation, and aiming to stay as such.
  • Follows the Mimblewimble protocol, which provides hidden amounts and scaling advantages.
  • Cuckoo Cycle proof of work in two variants named Cuckaroo (ASIC-resistant) and Cuckatoo (ASIC-targeted).
  • Relatively fast block time: one minute.
  • Fixed block reward over time with a decreasing dilution.
  • Transaction fees are based on the number of Outputs created/destroyed and total transaction size.
  • Smooth curve for difficulty adjustments.

To learn more, read our introduction to Mimblewimble and Grin.

Status

Grin is live with mainnet. Still, much is left to be done and contributions are welcome (see below). Check our mailing list archives for the latest status.

Contributing

To get involved, read our contributing docs.

Find us:

Getting Started

To learn more about the technology, read our introduction.

To build and try out Grin, see the build docs.

Philosophy

Grin likes itself small and easy on the eyes. It wants to be inclusive and welcoming for all walks of life, without judgement. Grin is terribly ambitious, but not at the detriment of others, rather to further us all. It may have strong opinions to stay in line with its objectives, which doesn't mean disrespect of others' ideas.

We believe in pull requests, data and scientific research. We do not believe in unfounded beliefs.

Credits

Tom Elvis Jedusor for the first formulation of Mimblewimble.

Andrew Poelstra for his related work and improvements.

John Tromp for the Cuckoo Cycle proof of work.

License

Apache License v2.0.

Comments
  • Reduce size of Merkle proofs (we can derive pos for each path sibling)

    Reduce size of Merkle proofs (we can derive pos for each path sibling)

    Pretty sure we can avoid storing the pos for each node in the path in the Merkle proof.

    For a given MMR size the pos are all known ahead of time.

    I think if we know the pos of the node we care about and the (unpruned) size of the MMR then we have everything we need to determine the pos of each sibling in the path.

    We would presumably do something like -

    • for a given node pos -
      • find the parent and the sibling pos (which we know how to do, via family())
      • repeat up to the peak (staying inside the overall MMR based on unpruned size)

    So as an alternative to storing the pos for each sibling in path - we can simply store the pos of the single leaf node and the total unpruned size of the MMR.

    👉 Might be a good idea to try and get this in before testnet2 to avoid having to think about backward compatibility...

    enhancement consensus breaking 
    opened by antiochp 46
  • Accidental Fork Details

    Accidental Fork Details

    Spent the evening collecting details of a fork that appears to have thrown the network into chaos, causing syncs to hang. Collecting details here instead of gitter:

    Yeastplume @yeastplume 21:46 Right, trying to restart node stuck trying to sync, last block it accepts is 7356 -8a7eab34, everything after is an orphan according to the node. First we heard of that block was:

    Nov 21 19:05:21.578 DEBG Received block 8a7eab34 at 7356 from network, going to process.
    Nov 21 19:05:21.579 DEBG Processing block 8a7eab34 at 7356 with 6 inputs and 12 outputs.
    Nov 21 19:05:21.580 DEBG Block 8a7eab34 refused by chain: Orphan
    .
    .
    .
    Nov 21 19:05:21.688 DEBG locate_headers: common header: 1258fdb7
    Nov 21 19:05:21.695 DEBG locate_headers: returning headers: 74
    Nov 21 19:05:22.255 DEBG Received block 8a7eab34 at 7356 from network, going to process.
    Nov 21 19:05:22.256 DEBG Processing block 8a7eab34 at 7356 with 6 inputs and 12 outputs.
    Nov 21 19:05:22.257 DEBG Block 8a7eab34 refused by chain: Orphan
    Nov 21 19:05:22.630 DEBG peer total_diff (ping/pong): 73.81.122.26:13414, 26860673 vs us 28873113
    Nov 21 19:05:24.017 DEBG Received block 8a7eab34 at 7356 from network, going to process.
    

    This one appears to be the missing link between me and the rest of the chain... when trying to sync it ends up in a loop here:

    Nov 21 21:27:28.318 INFO Received unfit block header 6c022946 at 7354: already in store.
    Nov 21 21:27:28.318 DEBG Processing header e4b4cd15 at 7355.
    Nov 21 21:27:28.321 INFO Received unfit block header e4b4cd15 at 7355: already in store.
    Nov 21 21:27:28.321 DEBG Processing header 8a7eab34 at 7356.
    Nov 21 21:27:28.322 DEBG Validating block with cuckoo size 16
    Nov 21 21:27:28.327 DEBG Processing header 822896e5 at 7357.
    Nov 21 21:27:28.327 INFO Invalid block header 822896e5: Orphan.
    

    It looks like even though we rejected that earlier as an Orphan, when trying to rebuild the chain we're trying to include it... is there an off-by-one error somewhere?

    Yeastplume @yeastplume 21:54 And everything after that was where the orphan trouble started... it looks as if we're keeping that rogue block around somehow when trying to rebuild the list of headers.

    Nov 21 19:05:31.197 DEBG cleaning V4(37.59.48.28:13414), not connected
    Nov 21 19:05:31.814 DEBG peer total_diff (ping/pong): 174.138.116.153:13414, 28873113 vs us 28873113
    Nov 21 19:05:32.737 DEBG Received block 822896e5 at 7357 from network, going to process.
    Nov 21 19:05:32.737 DEBG Processing block 822896e5 at 7357 with 0 inputs and 1 outputs.
    Nov 21 19:05:32.738 DEBG Block 822896e5 refused by chain: Orphan
    

    Yeastplume @yeastplume 22:07 Or.. now looking into it more.... perhaps it that our longest peer is somehow returning a list of headers it can't validate either

    Yeastplume @yeastplume 22:20 And from what seems like another peer now

     Nov 21 22:15:37.217 DEBG Error returned, discarding sumtree extension.
    Nov 21 22:15:37.217 INFO Rejected block 8a7eab34 at 7356: DuplicateCommitment(Commitment(0947cb1c2d22aa8196db0295e10397d80f61a565d700e9bbde0f6a3a7e1ff5cfcb))
    Nov 21 22:15:37.217 DEBG Block 8a7eab34 refused by chain: DuplicateCommitment(Commitment(0947cb1c2d22aa8196db0295e10397d80f61a565d700e9bbde0f6a3a7e1ff5cfcb))
    

    And that block was just after (at least 1) transaction 6 inputs, 12 outputs.

    Yeastplume @yeastplume 22:35

    From the other channel 51.255.202.83 has has the longest chain for a while, and any node trying to sync from it is ending up rejecting a forked chain. My issues on this node started at the same time that node caught up with and overtook mine:
    Nov 21 19:05:20.809 DEBG peer total_diff (ping/pong): 51.255.202.83:13414, 28872857 vs us 28873113
    .
    Nov 21 19:05:21.578 DEBG Received block 8a7eab34 at 7356 from network, going to process.
    Nov 21 19:05:21.579 DEBG Processing block 8a7eab34 at 7356 with 6 inputs and 12 outputs.
    Nov 21 19:05:21.580 DEBG Block 8a7eab34 refused by chain: Orphan
    .
    Nov 21 19:05:34.996 DEBG peer total_diff (ping/pong): 51.255.202.83:13414, 28873949 vs us 28873113
    

    It looks like it mined a rogue `8a7eab34' block with a commit I already had in my UTXO set somewhere, which I rejected then it accepted then became the longest chain.. then I switched to try to follow it instead, which means my version of that block is hosed for good.

    Yeastplume @yeastplume 22:50 from another node:

    Nov 21 20:05:21.565 DEBG Received block 8a7eab34 at 7356 from network, going to process.
    Nov 21 20:05:21.565 DEBG Processing block 8a7eab34 at 7356 with 6 inputs and 12 outputs.
    Nov 21 20:05:21.565 DEBG Validating block with cuckoo size 16
    Nov 21 20:05:21.569 DEBG Starting new sumtree extension.
    --
    Nov 21 20:05:22.115 TRCE Hashing with additional data
    Nov 21 20:05:22.116 TRCE Hashing with additional data
    Nov 21 20:05:22.126 DEBG Block at 7356 with hash 8a7eab34 is valid, going to save and append.
    Nov 21 20:05:22.130 INFO Updated head to 8a7eab34 at 7356.
    Nov 21 20:05:22.130 DEBG Committing sumtree extension.
    Nov 21 20:05:22.154 DEBG Sumtree extension done.
    --
    Nov 21 20:05:22.549 DEBG peer total_diff (ping/pong): 165.227.63.166:13414, 28795465 vs us 28873185
    Nov 21 20:05:22.630 DEBG peer total_diff (ping/pong): 73.81.122.26:13414, 26860673 vs us 28873185
    Nov 21 20:05:22.677 DEBG Received block 8a7eab34 at 7356 from network, going to process.
    Nov 21 20:05:22.677 DEBG Processing block 8a7eab34 at 7356 with 6 inputs and 12 outputs.
    Nov 21 20:05:22.677 DEBG Block 8a7eab34 at 7356 is unfit at this time: already known
    Nov 21 20:05:22.677 DEBG Block 8a7eab34 refused by chain: Unfit("already known")
    Nov 21 20:05:22.678 DEBG peer total_diff (ping/pong): 84.172.93.17:13414, 28873185 vs us 28873185
    Nov 21 20:05:23.733 DEBG Received block 8a7eab34 at 7356 from network, going to process.
    
    opened by yeastplume 45
  • On difficulty adjustment

    On difficulty adjustment

    It's interesting to compare our Difficulty Adjustment (DA) with that of ZCash [1] and Bitcoin Cash [2].

    Coin | ZCash | Grin | BCash ---- | ----- | ----- | ------ Blocktime in seconds | 150 | 60 | 600 Adjustment Window | 17 | 60 | 144 Median TS Window | 11 | 11 | 3 DAMP_FACTOR | 4 | 3 | 1 AvgDifforTarget | Target | Diff | Diff Difficulty & TimeSpan | async | async | sync Minimum TimeSpan | 84% | 50% | 50% Maximum TimeSpan | 132% | 200% | 200%

    Considering that dampening is a mild complication, do we have evidence that it performs noticeably better than not dampening?

    In Zcash, the TS window can be shifted back as much as 10 blocks relative to the Difficulty window of 17 blocks. In Grin's case, this is somewhat less of a problem with the longer window of 60 blocks, but could be further reduced by shortening the median window.

    BCash first picks the median timestamps, and then picks the blocks between them.

    [1] page 42 of https://github.com/zcash/zips/blob/master/protocol/protocol.pdf [2] https://medium.com/@Mengerian/dgenr8s-difficulty-adjustment-algorithm-explained-e77aa47eb281

    question research 
    opened by tromp 29
  • AlreadySpent at block height 26126

    AlreadySpent at block height 26126

    My local node (with some additional debug logging added) -

    Dec 22 09:23:45.223 DEBG sumtree: apply_block: pos - Ok(63685), Commitment(08fa2d8f35a266bdf05fc5cf585ed9135ce380b10037f80c7ea75243feba5471de)
    Dec 22 09:23:45.223 DEBG pmmr: prune: pos - 63685, index - 26126
    Dec 22 09:23:45.223 DEBG pmmr: prune: nothing at that pos in backend
    Dec 22 09:23:45.223 DEBG Error returned, discarding sumtree extension.
    Dec 22 09:23:45.223 INFO Rejected block 486c233e at 26126: AlreadySpent(Commitment(08fa2d8f35a266bdf05fc5cf585ed9135ce380b10037f80c7ea75243feba5471de))
    Dec 22 09:23:45.224 DEBG Block 486c233e refused by chain: AlreadySpent(Commitment(08fa2d8f35a266bdf05fc5cf585ed9135ce380b10037f80c7ea75243feba5471de))
    

    On my local node there is no UTXO for this commitment -

    curl "127.0.0.1:13413/v1/chain/utxos/byids?id=08fa2d8f35a266bdf05fc5cf585ed9135ce380b10037f80c7ea75243feba5471de"
    []
    

    On a different node (that processed this block successfully) -

    curl "127.0.0.1:13413/v1/chain/utxos/byids?id=08fa2d8f35a266bdf05fc5cf585ed9135ce380b10037f80c7ea75243feba5471de"
    [{"output_type":"Transaction","commit":[8,250,45,143,53,162,102,189,240,95,197,207,88,94,217,19,92,227,128,177,0,55,248,12,126,167,82,67,254,186,84,113,222],"switch_commit_hash":null,"proof":null,"height":22912,"lock_height":0}]
    

    Is this actually a UTXO? It got spent in block 26126 on some nodes (at least according to nodes that processed that processed this block)?

    cc/ @ignopeverell

    On the node that did process this block we see a lot of this -

    Dec 21 16:03:26.025 DEBG Rewind sumtrees to header 486c233e at 26126
    Dec 21 16:04:50.775 DEBG validate_block: forked_block: 486c233e at 26126
    Dec 21 16:04:50.775 DEBG Rewind sumtrees to header 486c233e at 26126
    Dec 21 16:06:09.066 DEBG validate_block: forked_block: 486c233e at 26126
    Dec 21 16:06:09.066 DEBG Rewind sumtrees to header 486c233e at 26126
    Dec 21 16:06:20.580 DEBG validate_block: forked_block: 486c233e at 26126
    Dec 21 16:06:20.580 DEBG Rewind sumtrees to header 486c233e at 26126
    

    So the network forked at this block.

    We can see this block on grinexplorer here - https://grinexplorer.net/block/486c233ea3bf09de730522c7bc83309b74625414736ce436ecc97b263ffff621

    bug 
    opened by antiochp 27
  • Grin node 5.1.0 won't launch on Linux

    Grin node 5.1.0 won't launch on Linux

    Describe the bug Grin node v5.1.0 will not launch on Debian Buster, returning "Illegal instruction" to stdout.

    To Reproduce

    $ grin
    Illegal instruction
    $ echo $?
    132
    $ ps aux |grep -E '[g]rin'
    $ 
    

    Relevant Information

    20210506 16:53:04.446 INFO grin_util::logger - log4rs is initialized, file level: Debug, stdout level: Warn, min. level: Debug                                                                                      
    20210506 16:53:04.447 INFO grin - Using configuration file at /home/$USER/.grin/main/grin-server.toml
    20210506 16:53:04.447 INFO grin - This is Grin version 5.1.0 (git v5.1.0), built for x86_64-unknown-linux-gnu by rustc 1.51.0 (2fd73fabe 2021-03-23).                                                               
    20210506 16:53:04.448 DEBUG grin - Built with profile "release", features "".
    20210506 16:53:04.448 INFO grin - Chain: Mainnet
    20210506 16:53:04.448 INFO grin - Accept Fee Base: 500000
    20210506 16:53:04.449 INFO grin - Future Time Limit: 300
    20210506 16:53:04.449 INFO grin - Feature: NRD kernel enabled: false
    20210506 16:53:04.449 WARN grin::cmd::server - Starting GRIN in UI mode...
    20210506 16:53:04.450 INFO grin_servers::grin::server - Starting server, genesis block: 40adad0aec27
    20210506 16:53:04.451 DEBUG grin_store::lmdb - DB Mapsize for /home/$USER/.grin/main/chain_data/lmdb is 549755813888
    

    Desktop (please complete the following information):

    $ cat /etc/os-release
    PRETTY_NAME="Debian GNU/Linux 10 (buster)"
    NAME="Debian GNU/Linux"
    VERSION_ID="10"
    VERSION="10 (buster)"
    VERSION_CODENAME=buster
    ID=debian
    HOME_URL="https://www.debian.org/"
    SUPPORT_URL="https://www.debian.org/support"
    BUG_REPORT_URL="https://bugs.debian.org/"
    
    bug 
    opened by nthrow 25
  • thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Chain(Error { inner:

    thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Chain(Error { inner:

    Hello, On a Debian 9.6, downloaded grin v0.5.1, install ok, md5sum ok, just launching

    grin --floonet

    ... and nothing happens. Not even a grin process running.

    edit: the issue is still present with grin v0.5.2

    grin-server.log

    20190110 16:19:40.169 INFO grin_util::logger - log4rs is initialized, file level: Debug, stdout level: Warn, min. level: Debug
    20190110 16:19:40.169 INFO grin - Using configuration file at /home/userz/.grin/floo/grin-server.toml
    20190110 16:19:40.169 INFO grin - This is Grin version 0.5.1 (git v0.5.1), built for x86_64-unknown-linux-gnu by rustc 1.31.1 (b6c32da9b 2018-12-18).
    20190110 16:19:40.169 DEBUG grin - Built with profile "release", features "".
    20190110 16:19:40.169 WARN grin::cmd::server - Starting GRIN in UI mode...
    20190110 16:19:40.169 INFO grin_servers::grin::server - Starting server, genesis block: edc758c1
    20190110 16:19:40.202 DEBUG grin_chain::txhashset::txhashset - Error returned, discarding txhashset extension: Other Error: output vs rproof MMRs different sizes 
     Cause: Unknown 
     Backtrace: 
    20190110 16:19:40.219 ERROR grin_util::logger - 
    thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Chain(Error { inner: 
    
    Other Error: output vs rproof MMRs different sizes })': libcore/result.rs:1009stack backtrace:
       0:     0x55982a88665d - backtrace::backtrace::trace::hd74837959dc31a2c
       1:     0x55982a885872 - ::default::hfbe03539066da14f
       2:     0x55982a8858e9 - backtrace::capture::Backtrace::new::hd9d47426559d8b68
       3:     0x55982a80f390 - grin_util::logger::send_panic_to_log::{{closure}}::h0919c24963251ad6
       4:     0x55982a9570e6 - std::panicking::rust_panic_with_hook::hde420d6fd4455550
                            at libstd/panicking.rs:480
       5:     0x55982a956c31 - std::panicking::continue_panic_fmt::h8f394f3c578bcc76
                            at libstd/panicking.rs:390
       6:     0x55982a956b15 - rust_begin_unwind
                            at libstd/panicking.rs:325
       7:     0x55982a9a0b8c - core::panicking::panic_fmt::hca5dc4e8b320bc56
                            at libcore/panicking.rs:77
       8:     0x55982a0dbf49 - core::result::unwrap_failed::h31e8096bf431f8db
       9:     0x55982a0947b0 - grin::cmd::server::start_server::hb8666c7b00b2e941
      10:     0x55982a0953c8 - grin::cmd::server::server_command::ha8bb4497bcf97bf1
      11:     0x55982a11fd26 - grin::real_main::hb39a0190d567a13c
      12:     0x55982a11e665 - grin::main::hab1e977be2785e7c
      13:     0x55982a0f00b2 - std::rt::lang_start::{{closure}}::h2873acc0c7532388
      14:     0x55982a956ab2 - std::rt::lang_start_internal::{{closure}}::hafa8ecdacd368ebb
                            at libstd/rt.rs:59
                             - std::panicking::try::do_call::h8c0dbb48abbdf4df
                            at libstd/panicking.rs:310
      15:     0x55982a969189 - __rust_maybe_catch_panic
                            at libpanic_unwind/lib.rs:102
      16:     0x55982a93830a - std::panicking::try::hbc21637ba5f64d73
                            at libstd/panicking.rs:289
                             - std::panic::catch_unwind::h954917b922b8d970
                            at libstd/panic.rs:392
                             - std::rt::lang_start_internal::h5b2de3cc38c3b406
                            at libstd/rt.rs:58
      17:     0x55982a120a74 - main
      18:     0x7fe95dd722e0 - __libc_start_main
      19:     0x55982a060f80 - 
      20:                0x0 - 
    

    I would be happy to help with that. How could I diagnose more ? Thanks

    bug help wanted 
    opened by ghost 25
  • P2P transaction building

    P2P transaction building

    It would be beneficial for user experience to implement p2p transaction buiding, secure and nat/firewall friendly. The current methods have the following drawbacks:

    • HTTP requires the server port to be reachable, which implies a public IP address and firewall configuration. It limits some home networks and most of mobile networks. It is not secure by default. TLS support has been implemented but it requires a public static main, sorry, IP address (or a service like DynDNS) and a domain name.
    • File exchange requires a good understanding of tx building protocol, careful use of an external secure channel and in overall provide a bad UX.

    Proposed solution is to use our existing p2p network as default secure channel and automate protocol.

    • Each node advertises a public key as part of peer info
    • Node ID is created from the public key
    • Alice communicate her pk or node id to Bob (eg send in an invoice). In the future a presence and signaling service could be implemented on top of p2p network to allow have a contact list and see online presence as we have in messengers and to send an invoice/payment request
    • Bob creates a tx slate, encrypt with Alice's pk
    • If Bob has Alice peer info in db he tries to open a direct connection
    • Otherwise (no info or Alice is behind NAT) Bob sends a route discovery request. As result he gets IP:PORT. It may be the address of Alice (if she is reachable directly, see https://github.com/mimblewimble/grin/issues/1797 ) or and address a reachable node connected to Alice (Faythe). In the simplest case it could be implemented via flooding the network. Another option is to use XOR distance from Kademlia protocol https://en.wikipedia.org/wiki/Kademlia#Routing_tables Kad protocol is designed to return a subset of nodes, we need a particular node, so it's a simplified version of Kad peer discovery.
    • Bob proceeds with slate exchange, sending a special message with Alice node id in the header. Faythe acts as a proxy.
    • After receiving the message Alice can try to establish a direct connection to Bob or continue sending via Faythe.

    If Bob sends a spam message Alice bans him. Network nodes could ban Bob if he sends a message to unknown address. In flood model nodes could keep "seen" counter for recent messages and ban if it was seen more than N times. In Kad-like system an intermediate node will discover that there is no Alice because he is the closest node to this address and he is not Alice, so he bans Bob and ask his peers do the same.

    research 
    opened by hashmap 24
  • [GIP] Batch Verification & Multithread Optimization on Range Proof Verification

    [GIP] Batch Verification & Multithread Optimization on Range Proof Verification

    This is a Grin Improvement Proposal.

    Range proof verification is the most expensive computation among all those computations in Grin, I'm not using "one of" here:) If I'm wrong, let me know please.

    According to my bench test on range proof, it need average 40ms for a verification and 80ms for a creation, on my MacBook Air (Early 2015). As a compare, the ECDSA signature spent average 0.14ms for a signature and 0.17ms for a signature verification, on same computer. The detail of this bench test can be found here.

    $ cargo test --release bench_bullet_proof_wt_extra -- --nocapture
    
    running 1 test
    test bench::tests::bench_bullet_proof_wt_extra ...
    spent time:	81(s)/(1000 bullet proof)
    verify_bullet_proof ok:	1000/1000
    spent time:	40(s)/(1000 verify bullet proof)
    
    $ cargo test --release bench_bullet_proof_with_extra_msg -- --nocapture
    
    running 1 test
    test bench::tests::bench_bullet_proof_with_extra_msg ... test bench::tests::bench_bullet_proof_with_extra_msg has been running for over 60 seconds
    spent time:	80(s)/(1000 bullet proof with extra msg)
    verify_bullet_proof ok:	1000/1000
    spent time:	41(s)/(1000 verify bullet proof with extra msg)
    

    That's a little bit higher than expectation! In case of 50 millions of UTXO, that need about 23 days to complete all the range proof verification, on my poor old MacBook Air; suppose a brand new computer is as 5 times faster as mine, that still need 4.6 days!

    Currently, when a new node installed, the fast sync mode will download and validate the txhashset archive, I spent 17 minutes to verify 23140 range proofs (average about 45ms/verification):

    Aug 07 11:18:04.636 DEBG txhashset: validated the output|rproof|kernel mmrs, took 0s
    Aug 07 11:18:17.429 DEBG txhashset: verified 42692 kernel signatures, pmmr size 85377, took 11s
    Aug 07 11:35:31.781 DEBG txhashset: verified 23140 rangeproofs, pmmr size 95321, took 1034s
    

    That's the longest part in the whole fast sync procedure (24 minutes in this example), range proof verification spent 70% time of the whole sync time, even not including the BodySync stage which also need range proof verification.

    Before looking into the possibility of the real optimization on range proof algorithm or implementation self, at least we can easily give multiple threads optimization at application level.

    Look forward to hear your views on this. If all agree to proceed, I will try to give this optimization.

    enhancement 
    opened by garyyu 24
  • ncurses error when using binary

    ncurses error when using binary

    This release:

    https://github.com/mimblewimble/grin/releases/tag/v0.4.2

    When using the v0.4.2 binary, I get the following ncurses error:

    ./grin: error while loading shared libraries: libncursesw.so.5: cannot open shared object file: No such file or directory

    I don't get this error when building using cargo from source code. When I build it myself Grin works just fine :). Arch Linux. Happy to investigate further.

    opened by faddat 23
  • introduce an async version of stratum server.

    introduce an async version of stratum server.

    It seems that the current approach to handle incoming connections stops working after the amount of parallel connection exceeds ~300.

    This PR introduces an 'async' feature which enable asynchronous, tokio based implementation of stratum server.

    I made a quick test. I run stratum server on a node with 8 CPU and 32Gb of memory and started to call 'KeepAlive' command 100Rps/per connection and slowly increasing the number of connections from 20 to 1000. This is, for example, 95% response time.

    Tokio version doesn't show any sign of deterioration up until 1000 connections.

    In order to enable tokio you need to build server with --features async

    enhancement 
    opened by e-max 22
  • HeaderSync optimization (#1372)

    HeaderSync optimization (#1372)

    With this optimization for https://github.com/mimblewimble/grin/issues/1372, the HeaderSync procedure can be 200% faster than before on my mac air(early 2015), i.e, 3 minutes compared to 6 minutes before:

    Aug 21 19:02:20.615 DEBG sync_state: sync_status: Initial -> HeaderSync { current_height: 0, highest_height: 61131 }
    Aug 21 19:05:19.367 DEBG sync_state: sync_status: HeaderSync { current_height: 60698, highest_height: 61134 } -> TxHashsetDownload
    
    opened by garyyu 22
  • refactor: simplify some exact instances of Option/Result combinators

    refactor: simplify some exact instances of Option/Result combinators

    This replaces some pattern-matches that are exact reimplementation of stdlib combinators.

    This, as well as running clippy on the last commit involved changes that assume a more recent version of Rust, e.g.:

    • captured identifiers (Rust 1.58)
    • boolean combinators (then, then_some, since Rust 1.62)

    Opinions on this loosely held, feel free to suggest changes. First commit tool-aided by comby-rust

    opened by huitseeker 0
  • file descriptor leak

    file descriptor leak

    20220710 06:47:18.596 ERROR grin_util::logger - 
    thread 'peer_connect' panicked at 'clone conn for reader failed: Os { code: 24, kind: Uncategorized, message: "Too many open files" }': p2p/src/conn.rs:224   0: <unknown>
       1: <unknown>
       2: <unknown>
       3: <unknown>
       4: <unknown>
       5: <unknown>
       6: <unknown>
       7: <unknown>
       8: <unknown>
       9: <unknown>
      10: <unknown>
      11: <unknown>
      12: <unknown>
      13: <unknown>
      14: <unknown>
      15: <unknown>
    
    opened by deevope 6
  • Node will freeze sporadically after a few days to a week of running

    Node will freeze sporadically after a few days to a week of running

    Description:

    After successful installation and syncing of grin node, client runs without incident until consistently (multiple new installs) beginning to "freeze" after a few days to a week.

    Install guide:

    https://github.com/mimblewimble/grin/blob/master/doc/build.md

    hardware:

    Raspberry pi 4b 4GB RAM Installed on SD card apart from OS on USB

    To Reproduce Steps to reproduce the behavior:

    1. Run '...' ./grin
    2. Expect: After a few days to a week to find terimnal hung
    3. See error: Logs attached

    Relevant Information Replacing the "Main" folder from backup from first sync resolves for ~week

    Screenshots If applicable, add screenshots to help explain your problem.

    Desktop (please complete the following information):

    • OS: ubuntu 22.04
    • Version 5.2.0-alpha.1

    Additional context I have tried the node on multiple mediums and file formats. Storing data on USB versus SD card, FAT32, Ext4, btrfs etc. The same occurs consistently; observing while running, I have not seen any resource problems with RAM or CPU. After replacing main folder, or restarting sometimes, it resumes as normal. Thank you.

    grin-server-backup625.log

    opened by jaw709 3
  • Bump hyper from 0.13.10 to 0.14.12

    Bump hyper from 0.13.10 to 0.14.12

    Bumps hyper from 0.13.10 to 0.14.12.

    Release notes

    Sourced from hyper's releases.

    v0.14.12

    Bug Fixes

    • ffi: on_informational callback had no headers (39b6d01a)
    • http1: apply header title case for consecutive dashes (#2613) (684f2fa7)
    • http2: improve errors emitted by HTTP2 Upgraded stream shutdown (#2622) (be08648e)

    Features

    • client: expose http09 and http1 options on client::conn::Builder (#2611) (73bff4e9, closes #2461)

    v0.14.11

    Bug Fixes

    • client: retry when pool checkout returns closed HTTP2 connection (#2585) (52214f39)
    • http2:
      • improve I/O errors emitted by H2Upgraded (#2598) (f51c677d)
      • preserve proxy-authenticate and proxy-authorization headers (#2597) (52435701)

    Features

    • ffi: add hyper_request_on_informational (25d18c0b)

    v0.14.10

    Bug Fixes

    • http1:
      • reject content-lengths that have a plus sign prefix (06335158) (Security GHSA-f3pg-qwvg-p99c)
      • protect against overflow in chunked decoder (efd9a982) (Security GHSA-5h46-h7hh-c6x9)

    Features

    • ffi: add option to get raw headers from response (8c89a8c1)

    v0.14.9

    Bug Fixes

    • http1: reduce memory used with flatten write strategy (eb0c6463)

    v0.14.8

    Features

    • client: allow to config http2 max concurrent reset streams (#2535) (b9916c41)
    • error: add Error::is_parse_too_large and Error::is_parse_status methods (#2538) (960a69a5)
    • http2:

    ... (truncated)

    Changelog

    Sourced from hyper's changelog.

    v0.14.12 (2021-08-24)

    Bug Fixes

    • ffi: on_informational callback had no headers (39b6d01a)
    • http1: apply header title case for consecutive dashes (#2613) (684f2fa7)
    • http2: improve errors emitted by HTTP2 Upgraded stream shutdown (#2622) (be08648e)

    Features

    • client: expose http09 and http1 options on client::conn::Builder (#2611) (73bff4e9, closes #2461)

    v0.14.11 (2021-07-21)

    Bug Fixes

    • client: retry when pool checkout returns closed HTTP2 connection (#2585) (52214f39)
    • http2:
      • improve I/O errors emitted by H2Upgraded (#2598) (f51c677d)
      • preserve proxy-authenticate and proxy-authorization headers (#2597) (52435701)

    Features

    • ffi: add hyper_request_on_informational (25d18c0b)

    v0.14.10 (2021-07-07)

    Bug Fixes

    • http1:
      • reject content-lengths that have a plus sign prefix (06335158)
      • protect against overflow in chunked decoder (efd9a982)

    Features

    • ffi: add option to get raw headers from response (8c89a8c1)

    v0.14.9 (2021-06-07)

    Bug Fixes

    ... (truncated)

    Commits
    • f46b175 v0.14.12
    • 39b6d01 fix(ffi): on_informational callback had no headers
    • adaa8b3 chore(dependencies): require httparse 1.5.1
    • 95a9783 refactor(http1): use MaybeUninit for parsing with uninitialized headers (#2545)
    • be08648 fix(http2): improve errors emitted by HTTP2 Upgraded stream shutdown (#2622)
    • 9a113ed docs(capi): fix typo in the upload example build (#2626)
    • a1995ee docs(capi): build 'upload' example too by default (#2625)
    • 3b26572 refactor(ffi): check pointer arguments for NULL (#2624)
    • c351539 docs(capi): output the hyper_version in the capi examples (#2623)
    • 684f2fa fix(http1): apply header title case for consecutive dashes (#2613)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump tokio from 0.2.25 to 1.8.4

    Bump tokio from 0.2.25 to 1.8.4

    Bumps tokio from 0.2.25 to 1.8.4.

    Release notes

    Sourced from tokio's releases.

    Tokio v1.8.4

    1.8.4 (November 15, 2021)

    This release backports a bugfix for a data race when sending and receiving on a closed oneshot channel ([RUSTSEC-2021-0124]) from v1.13.1.

    Fixed

    • sync: fix a data race between oneshot::Sender::send and awaiting a oneshot::Receiver when the oneshot has been closed (#4226)

    Tokio v1.8.3

    1.8.3 (July 22, 2021)

    This release backports two fixes from 1.9.0

    Fixed

    • Fix leak if output of future panics on drop (#3967)
    • Fix leak in LocalSet (#3978)

    #3967: tokio-rs/tokio#3967 #3978: tokio-rs/tokio#3978

    Tokio 1.8.2

    Fixes a missed edge case from 1.8.1.

    Fixed

    • runtime: drop canceled future on next poll (#3965)

    Tokio 1.8.1

    Forward ports 1.5.1 fixes.

    Fixed

    • runtime: remotely abort tasks on JoinHandle::abort (#3934)

    #3934: tokio-rs/tokio#3934

    tokio-1.8.0

    1.8.0 (July 2, 2021)

    Added

    • io: add get_{ref,mut} methods to AsyncFdReadyGuard and AsyncFdReadyMutGuard (#3807)
    • io: efficient implementation of vectored writes for BufWriter (#3163)
    • net: add ready/try methods to NamedPipe{Client,Server} (#3866, #3899)
    • sync: add watch::Receiver::borrow_and_update (#3813)
    • sync: implement From<T> for OnceCell<T> (#3877)

    ... (truncated)

    Commits
    • 2273eb1 chore: fix CI on master (#4008)
    • 249f05c chore: fix output of macro after new rustc release (#4189)
    • 2bf6132 macros: fix type resolution error in #[tokio::main] (#4176)
    • c9228bf macros: make tokio-macros attributes more IDE friendly (#4162)
    • 441427c macros: fix wrong error messages (#4067)
    • cc7d9e1 chore: explicitly relaxed clippy lint for runtime entry macro (#4030)
    • f49b7fc tokio-macros: compat with clippy::unwrap_used (#3926)
    • ea87e4e net: fix the uds_datagram tests with the latest nightly stdlib (#3952)
    • e2e7b5e examples: replace time crate with httpdate (#4169)
    • 9a58f7f tests: update Nix to 0.22.0 (#3951)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
Releases(v5.2.0-alpha.2)
  • v5.2.0-alpha.2(Oct 21, 2022)

    Things to test:

    • Syncing on scratch on testnet via PIBD.
    • Leaving testnet node offline for over a week then starting again. PIBD should kick off from the last verified height.
    • DNS seeds for mainnet and testnet have been updated!

    Changes:

    • 684f0a387ae1ac47e34e68aae2cf94514b86aaf4 updats to warnings, cargo.lock, version number (#3739)
    • 34d23f52351685218277f8039784d2a8ee56642e update seed lists for mainnet and testnet (#3738)
    • 030bd0e1d9835337ec64151857685859ff701e0a [DNM] PIBD Task / Issue Tracker (#3695) [ #3685, #3686, #3688, #3689, #3690, #3691, #3692, #3694, #3696, #3698, #3699, #3700, #3702, #3703, #3704, #3705, #3708, #3707, #3711 ]
    • 529ce4421900ecab96148e91393f377ba74a1b2b Override global one times. (#3737)
    • 3119899551d07ed39e1211578e6d7c2d6aa2af10 The foreign_rpc and owner_rpc auto generated helper modules should be made public. (#3734)
    • 6d25382ff587b52cbbc5b88395ea85f9c6d44362 derive debug for ServerStats (#3731)
    • a14a8e312345ee6f7b58e84b0cf3e59635ca15a3 Thiserror changeover (#3728)
    • 03b007c20e77c0ddf047b750e5c5ebe14f16d8e1 Updated contributing.md links. (#3727)
    • 33124c2d1cb5a5129025afc226b7e87414b47c7b Fix CI for macOS (#3726)
    • 9d92f3461404cb810cdfa75c4f588c207905d5a6 visibility scope tweaks to aid seed test utilities (#3707)
    See More
    • 145d81944588ff4a1b4edfba8cb2cd02cec74de1 update Cargo.lock for next release

    This list of changes was auto generated.

    Source code(tar.gz)
    Source code(zip)
    grin-v5.2.0-alpha.2-linux-amd64-sha256sum.txt(113 bytes)
    grin-v5.2.0-alpha.2-linux-amd64.tar.gz(7.32 MB)
    grin-v5.2.0-alpha.2-macos-sha256sum.txt(107 bytes)
    grin-v5.2.0-alpha.2-macos.tar.gz(5.51 MB)
    grin-v5.2.0-alpha.2-win-x64-sha256sum.txt(306 bytes)
    grin-v5.2.0-alpha.2-win-x64.zip(4.56 MB)
  • v5.2.0-alpha.1(Apr 20, 2022)

    This is an alpha test build containing all PRs on the pibd_impl branch up to #3705. Note that PIBD sync is currently hardcoded to trigger on testnet only.

    Changes:

    • 5efd70a17bd0c7661d364db0b1224e56e72d1698 [PIBD_IMPL] BitmapAccumulator Serialization Fix (#3705)
    • aa2a2a98df453587a05ed0fcc4c351d13c2b9d73 add pibd abort timeout case (#3704)
    • eda31ab9e5dcaae81891e1546a39d2f6378792fd documentation updates + todo fixes (#3703)
    • 6a7b66b32966995700bc83aeb694feb5ed98be51 [PIBD_IMPL] Catch-Up functionality + Fixes based on testing (#3702)
    • 50450ba71aa389fe02782ea7c7905a6820c45733 update Cargo.lock for next release
    • 09d6f41c09f84dc0918d4676dbe89c1b1f4d14f2 fix for deadlock issue (#3700)
    • b08a6dd52807aa5fdc0b5a22d2a834ee46da6f41 revert to previous method of applying segments (#3699)
    • 21b1ac50d702960d26686f18a2f178ad5591b40b [PIBD_IMPL] Thread simplification + More TUI Updates + Stop State Propagation (#3698)
    • bf48e523746bd10ca5d986e60eb1b5451dfd5453 [PIBD_IMPL] Update number of simultaneous peer requests for segments (#3696)
    • 5630cf2e10ef788fe055f7b7151c3af5593b527b [PIBD_IMPL] PIBD Stats + Retry on validation errors (#3694)
    See More
    • 3ea233d5eb8a374b4a72ad24637dc423c42520fd [PIBD_IMPL] Finalize PIBD download and move state to chain validation (#3692)
    • 169e106e706f95b6a09127851853645b44f22b32 [PIBD_IMPL] PIBD tree sync via network and kill/resume functionality (#3691)
    • 24202f04425dc0a45c3b0e013d7e19bf9820c3b0 [PIBD_IMPL] PMMR Reassembly from Segments (#3690)
    • 436bacf17ef8613f50d68d442c23a779019fdeb0 [PIBD_IMPL] Bitmap accumulator reconstruction + TxHashset set reconstruction (#3689)
    • 41a86b4cd99f332a2a2dfc54af88c1735952a070 [PIBD_IMPL] PIBD Desegmenter State (#3688)
    • 009a02eec114ea22b8ce04157c7e4b94c4042b37 add pibd receive messages to network, and basic calls to desegmenter from each (#3686)
    • 89730b7d6dc58fcabf364ef27c8b9d0bae25faa7 [PIBD_IMPL] Introduce PIBD state into sync workflow (#3685)

    This list of changes was auto generated.

    Source code(tar.gz)
    Source code(zip)
    grin-v5.2.0-alpha.1-linux-amd64-sha256sum.txt(113 bytes)
    grin-v5.2.0-alpha.1-linux-amd64.tar.gz(7.06 MB)
    grin-v5.2.0-alpha.1-macos-sha256sum.txt(107 bytes)
    grin-v5.2.0-alpha.1-macos.tar.gz(5.44 MB)
    grin-v5.2.0-alpha.1-win-x64-sha256sum.txt(306 bytes)
    grin-v5.2.0-alpha.1-win-x64.zip(4.63 MB)
  • v5.1.2(Mar 17, 2022)

    Please note this is a non-essential upgrade focused on performance enhancements and QoL fixes.

    General Changes since v5.1.1

    • Performance enhancements to PoW verification and Header Validation
    • TUI Freeze + API Shutdown fixes
    • Add verify-chain command
    • Dependency updates to fix crates.io version not building. (See #3655)
    • Underlying code changes to ensure PMMR positions are 0-based in the code where possible (Storage is still 1-based, so as not to make any changes to underlying data)
    • Underlying changes to support upcoming PIBD functionality
    • Other minor fixes

    Specific Changes since v5.1.1:

    • 83e8ec65b3e5b2268b29e68dc1cdc1aa031e9147 prepare branch for 5.1.2 release
    • 78c9794d30c21d40a24f255c411e04f3eab5d512 TUI Freeze Fix - Add manually maintained hash to difficulty iterator (#3684)
    • a3eebbc0ab0f9010063cad3ce36092d2fc3ae205 verify-chain node client arg (#3678)
    • c92d2e9fba67b1fbafb5330acdbe2fdb30cb42b8 graceful api shutdown (#3677)
    • 2237f42144c5463de045df9fa96b213fc7158171 Handle attempts to get block headers at invalid heights (#3683)
    • 382e914c50c46ddd167b47f9f0c2c3d33f273ef4 make fn rewind_hash pub (#3674)
    • 63c65605bbe7a3ee4a8805c7f5aa7e7e153a15d5 [SYNC PERFORMANCE] Adjust DifficultyIterator to no longer deserialize PoW proof nonces (#3671)
    • 7725a05ac129a192fb1f55a48022ae6ba71b018e [SYNC PERFORMANCE] Replace header proof serialisation with more efficient algorithm (#3670)
    • c6f25e99292793e3ab6e5fcac7e416ba706b776c Spdupverifypow (#3672)
    • 2f5cfbe4eb4f7bb4653921e10d7dbba27cd44bf1 [PIBD] PMMR Desegmenter Structure (Pt. 1) (#3667)
    See More
    • 53414ae1059fd402bee1e1d5926ec0159262d848 Fixmmr part2 (#3666)
    • c8275f7e57b251fecd96852d0c82323333f827ad [PIBD] Chain Segmenter Validation Test + Block Archive Horizon Change (#3665)
    • 4aaa3344e64b0b952257d01df1520068dfa0b63a refactor pmmr functions, improve efficiency; panic on 0 pos1 (#3663)
    • 3f4f165e0bda7410ca0c0197da9a44b22070fd66 PMMR Backend Support for append_pruned_root (Continued) (#3659)
    • 3ae4c755693ab9eadb778d6cff87c0beba1f811b Update digest, hmac, ripemd160, sha2 and pbkdf2 crates (#3655)
    • 0170f03e4a50591c76a539d67636e176b79d56cb Rust 2021 Macro Warning Cleanup (#3658)
    • 2e2149859fed06fd679a72e8ff7c7f07214f5204 bump to 5.2.0-alpha.1 on master (#3652)

    This list of changes was auto generated.

    Source code(tar.gz)
    Source code(zip)
    grin-v5.1.2-linux-amd64-sha256sum.txt(105 bytes)
    grin-v5.1.2-linux-amd64.tar.gz(6.48 MB)
    grin-v5.1.2-macos-sha256sum.txt(99 bytes)
    grin-v5.1.2-macos.tar.gz(4.90 MB)
    grin-v5.1.2-win-x64-sha256sum.txt(290 bytes)
    grin-v5.1.2-win-x64.zip(4.17 MB)
  • v5.1.1(Aug 18, 2021)

    Changes:

    • 1cb222786aa1a13d404ccbe2305764f1f3b306c9 Change connection name for CI Release (#3653)
    • 11e5efc0897a3acd50158e9dd719e6703561dde3 Tagging v5.1.1 release (#3651)
    • 172143f7eabbe973c6fa4ee24d8f9a8fc4bae363 Fix ROARING_ARCH environment variable (#3644)
    • 4155555f8000579d962f3ada87da0071712a2d3b Spelling Improvements (#3642)
    • f51b6e13761ac4c3c8e57904618ef431c14c6227 implement fix past fees RFC with fee shift since genesis (#3629)
    • a9f1dd7bcd9bb204de599cdefa92b81cd6e36ce3 bump to 5.2.0-alpha.1 on master (#3640)

    This list of changes was auto generated.

    Source code(tar.gz)
    Source code(zip)
    grin-v5.1.1-linux-amd64-sha256sum.txt(105 bytes)
    grin-v5.1.1-linux-amd64.tar.gz(6.66 MB)
    grin-v5.1.1-macos-sha256sum.txt(99 bytes)
    grin-v5.1.1-macos.tar.gz(5.06 MB)
    grin-v5.1.1-win-x64-sha256sum.txt(290 bytes)
    grin-v5.1.1-win-x64.zip(4.25 MB)
  • v5.1.0(May 6, 2021)

    Changes:

    • 72a6eb81e8c4813194f4a536ce46d7c4e3b757a3 bump to 5.1.0 to prep for release (#3639)
    • 87729a2227c137ed836f41d67d2d29c28d188708 bump crate version to 5.1.0-beta.2 to prep for release (#3636)
    • 89c06ddab717b6a7dcaf0a26c64740496b90328d client invalidateheader and resetchainhead (#3618)
    • 9e27e6f9d3e960466b75f666057143c06e2f5cfc Add migration to config_file_version = 2 (#3634)
    • 9ed0cd65ef1acd1a11794691e93c18e29314a812 fix share difficulty validation - compare stratum server minimum_share_difficulty as unscaled difficulty (#3624)
    • 1b8acee72e7a4236cdf8561a7af5f894bfe11985 Update zip dependency and fix deprecation warnings (#3617)
    • f8afdb5faa11c46e3b3213cc2dcc451159994452 Fix Windows CI cargo test silently passing (#3632)
    • 34413c1cab61e01aa0a1682c0fc18f9b2b70b23e track sync_head on header_sync sync status (#3626)
    • df91bff0f1ba788fe2b9154205381fb079610a05 Add test for duplicate rangeproof inflation bug (#3630)
    • f6ec77a592de04fcc4a78127822932ec7e18525c never speak of the verifier cache again (#3628)
    See More
    • cccaf984936d4792f8b6c39e6b500ad2e3f08817 enhance comment describing how a pow is hashed (#3623)
    • 09c90fc25716a0cb016f19b609b17454c1541fc6 cleanup and stop wrapping errors in other/unfit (#3616)
    • 25d93c860664f30fe697769a91a844f50469c489 Revert "Allow rest api to shutdown (#3614)" (#3625)
    • 0acf3803206a7d215f09877374b6040b99b6800e Remove unnecessary trailing semicolom (#3619)
    • 4a09fed36ca8f2b9f3ccd2e1c518e777a4c1da6a Allow rest api to shutdown (#3614)
    • e8b46f14099169a53bb41899ad3b749c72752371 Update ring to v0.16.20 (#3612)
    • 431e4b97b78e4fdc74beff00af5f32e4ab1d3f45 Defork croaring (#3596)
    • 302c8ec92869c8280c069a7be3ec61e9fc013037 Make of this what you will but it cargo fmt better (#3572)
    • 87ff219d37b59c8e3cd8ab7f8629af4b9fd12dd1 Removing verifier caches (#3597)
    • 6690b25f05d32bb43a1e6b24741179e05d98e53f Enable block archival sync (#3579)
    • 846b8f82e8591503b4131e64cda89409dcbdffdd fix for missing increment of stratum stats blocks_found (#3593)
    • 0259ed23ea584523f7617d728e345fee899189c1 Update copyright year to 2021 (#3592)
    • 725622da7a79dcc9eec5f0b79b6a8fa725e0662c Remove imports and cleanups (#3590)
    • 45f74c396d6a6c7d049dfb040afb2cb82c44537e Remove unused imports (#3589)
    • 35740204a1b212131afea502b49af4632aec8913 no more conversion to support v2 blocks (#3587)
    • e0237396581c2894e437b254cb1509d2227be765 Update and do not use serve private export (#3585)
    • 059e6ad5455bcccf3afa4fe5e9a7d6b1712dcaca Mining tui updates (#3584)
    • 64b2fddbf176039b0539084113742541ec9558c7 [5.0.x] Fix PIBD segments (#3532) (#3583)
    • 98e183c8b81224f6bf4e4ee352502c367878125f Update Client to v2 API (#3582)
    • 7b51851ab41b37f2a3d8faf4d3dad9668c76f2c5 Update Tokio, hyper versions (#3580)
    • 682c520968824bf170ecb507b9ee973b2fdf2f88 Update grin-secp256k1zkp to 0.7.10 (#3581)
    • eefd0eac97fa0b3ba8f3a2f9f9f25ed7ac813068 Update to cursive 0.16 (#3547)
    • 4284458e17066fe6788e32f8ab04546bed72b34b more consistent handling of peers_preferred during startup (#3578)
    • 03b7518884c40d83be47368a3e93a6cdd06f3cb2 cleanup redundant sync_head and associated MMR (#3556)
    • 3583028781ba3b2641e9147a02e4b28090d04187 Prune list iterators (#3574)
    • adddff9155f55448dd099194077e86b7f4d8810d optimization for reading peak hashes from backend file (#3575)
    • 7487ffd75b2c69e15141648a3ea064c049fc5daa replace subtree with pruned root (#3576)
    • 57f459249904a5e4ed2ed4bc26448dfcbf8aabeb Retire pruned cache (#3573)
    • 08523b2b39b1ba6b6a52e04f190bad847e1421df add BLOCK_HIST capabilities on startup if config archive_mode=true (#3563)
    • 9c44a4d08fb357db60a49ca260e5321d520a5d75 Refactor prune file replace (#3571)
    • a3c9b478e2261002e47bdf3fcad51037512128b6 [5.0.x] inefficient locking on recv of peers lists can result in failure to get peers lock (#3566) (#3570)
    • 4de2d9243368e96631209c84a24ce58adbdb4e0f Revert "rework prune rewrite with iterators (#3568)" (#3569)
    • 5092652b0ca4c11b52d59dfc197b41087dc04c16 rework prune rewrite with iterators (#3568)
    • 5b9664bccf87793474aa29d73e8f89e543c1144f inc quietly on small batches of headers (#3564)
    • 524dbd01701201bbe2e0f87a00a724403e632b0e pibd capabilities test was only relevant temporarily (#3565)
    • 4ab72902e0a67bcb1e4ce4b045c3eee40fbc7800 add rate limiting to outbound p2p msg sending (#3560)
    • 7649d361e4c27d84789df2a8fff2ed362c7ef420 Block sync hash traversal perf (#3558)
    • a3aed4aae5fe07323796fb5986e26d368c12e01c fix for missing block under certain startup conditions (#3555)
    • 61982efdd9d0bbc27c295e6a2583c5fba1f54e97 Safety: check length during deserialization (#3551)
    • 4877f30e2cae8dd450da3a53eb5a62569fa6703f override old accept_fee_base setting of 1000000 to new default 500000 (#3539)
    • 6f142b4c751ffd475f2b1a3db20f26674ed00313 Downgrade CI VM to Ubuntu 18.04 (#3535)
    • 35ebdea967b9f64504b3132dff018332dd3807fc Bump master version to 5.1.0-alpha.1 (#3510)
    • 1baa59c44da8abdcbe4ffd7804111c7b21effeba prefer outbound peers when syncing (consistently) (#3521)
    • acba73bf40242f963d8ea1e7128dfdfde6fb8853 reomve unused function (#3509)
    • eaf9bcf2bf1dad2c4b79af25d542ac1c378ca90f Block migration db flag (only migrate once) (#3512)

    This list of changes was auto generated.

    Source code(tar.gz)
    Source code(zip)
    grin-v5.1.0-linux-amd64-sha256sum.txt(105 bytes)
    grin-v5.1.0-linux-amd64.tar.gz(6.86 MB)
    grin-v5.1.0-macos-sha256sum.txt(99 bytes)
    grin-v5.1.0-macos.tar.gz(5.21 MB)
    grin-v5.1.0-win-x64-sha256sum.txt(290 bytes)
    grin-v5.1.0-win-x64.zip(4.48 MB)
  • v5.1.0-beta.2(Apr 29, 2021)

    Changes:

    • 87729a2227c137ed836f41d67d2d29c28d188708 bump crate version to 5.1.0-beta.2 to prep for release (#3636)
    • 89c06ddab717b6a7dcaf0a26c64740496b90328d client invalidateheader and resetchainhead (#3618)
    • 9e27e6f9d3e960466b75f666057143c06e2f5cfc Add migration to config_file_version = 2 (#3634)
    • 9ed0cd65ef1acd1a11794691e93c18e29314a812 fix share difficulty validation - compare stratum server minimum_share_difficulty as unscaled difficulty (#3624)
    • 1b8acee72e7a4236cdf8561a7af5f894bfe11985 Update zip dependency and fix deprecation warnings (#3617)
    • f8afdb5faa11c46e3b3213cc2dcc451159994452 Fix Windows CI cargo test silently passing (#3632)
    • 34413c1cab61e01aa0a1682c0fc18f9b2b70b23e track sync_head on header_sync sync status (#3626)
    • df91bff0f1ba788fe2b9154205381fb079610a05 Add test for duplicate rangeproof inflation bug (#3630)
    • f6ec77a592de04fcc4a78127822932ec7e18525c never speak of the verifier cache again (#3628)
    • cccaf984936d4792f8b6c39e6b500ad2e3f08817 enhance comment describing how a pow is hashed (#3623)
    See More
    • 09c90fc25716a0cb016f19b609b17454c1541fc6 cleanup and stop wrapping errors in other/unfit (#3616)
    • 25d93c860664f30fe697769a91a844f50469c489 Revert "Allow rest api to shutdown (#3614)" (#3625)
    • 0acf3803206a7d215f09877374b6040b99b6800e Remove unnecessary trailing semicolom (#3619)
    • 4a09fed36ca8f2b9f3ccd2e1c518e777a4c1da6a Allow rest api to shutdown (#3614)
    • e8b46f14099169a53bb41899ad3b749c72752371 Update ring to v0.16.20 (#3612)
    • 431e4b97b78e4fdc74beff00af5f32e4ab1d3f45 Defork croaring (#3596)
    • 302c8ec92869c8280c069a7be3ec61e9fc013037 Make of this what you will but it cargo fmt better (#3572)
    • 87ff219d37b59c8e3cd8ab7f8629af4b9fd12dd1 Removing verifier caches (#3597)
    • 6690b25f05d32bb43a1e6b24741179e05d98e53f Enable block archival sync (#3579)
    • 846b8f82e8591503b4131e64cda89409dcbdffdd fix for missing increment of stratum stats blocks_found (#3593)
    • 0259ed23ea584523f7617d728e345fee899189c1 Update copyright year to 2021 (#3592)
    • 725622da7a79dcc9eec5f0b79b6a8fa725e0662c Remove imports and cleanups (#3590)
    • 45f74c396d6a6c7d049dfb040afb2cb82c44537e Remove unused imports (#3589)
    • 35740204a1b212131afea502b49af4632aec8913 no more conversion to support v2 blocks (#3587)
    • e0237396581c2894e437b254cb1509d2227be765 Update and do not use serve private export (#3585)
    • 059e6ad5455bcccf3afa4fe5e9a7d6b1712dcaca Mining tui updates (#3584)
    • 64b2fddbf176039b0539084113742541ec9558c7 [5.0.x] Fix PIBD segments (#3532) (#3583)
    • 98e183c8b81224f6bf4e4ee352502c367878125f Update Client to v2 API (#3582)
    • 7b51851ab41b37f2a3d8faf4d3dad9668c76f2c5 Update Tokio, hyper versions (#3580)
    • 682c520968824bf170ecb507b9ee973b2fdf2f88 Update grin-secp256k1zkp to 0.7.10 (#3581)
    • eefd0eac97fa0b3ba8f3a2f9f9f25ed7ac813068 Update to cursive 0.16 (#3547)
    • 4284458e17066fe6788e32f8ab04546bed72b34b more consistent handling of peers_preferred during startup (#3578)
    • 03b7518884c40d83be47368a3e93a6cdd06f3cb2 cleanup redundant sync_head and associated MMR (#3556)
    • 3583028781ba3b2641e9147a02e4b28090d04187 Prune list iterators (#3574)
    • adddff9155f55448dd099194077e86b7f4d8810d optimization for reading peak hashes from backend file (#3575)
    • 7487ffd75b2c69e15141648a3ea064c049fc5daa replace subtree with pruned root (#3576)
    • 57f459249904a5e4ed2ed4bc26448dfcbf8aabeb Retire pruned cache (#3573)
    • 08523b2b39b1ba6b6a52e04f190bad847e1421df add BLOCK_HIST capabilities on startup if config archive_mode=true (#3563)
    • 9c44a4d08fb357db60a49ca260e5321d520a5d75 Refactor prune file replace (#3571)
    • a3c9b478e2261002e47bdf3fcad51037512128b6 [5.0.x] inefficient locking on recv of peers lists can result in failure to get peers lock (#3566) (#3570)
    • 4de2d9243368e96631209c84a24ce58adbdb4e0f Revert "rework prune rewrite with iterators (#3568)" (#3569)
    • 5092652b0ca4c11b52d59dfc197b41087dc04c16 rework prune rewrite with iterators (#3568)
    • 5b9664bccf87793474aa29d73e8f89e543c1144f inc quietly on small batches of headers (#3564)
    • 524dbd01701201bbe2e0f87a00a724403e632b0e pibd capabilities test was only relevant temporarily (#3565)
    • 4ab72902e0a67bcb1e4ce4b045c3eee40fbc7800 add rate limiting to outbound p2p msg sending (#3560)
    • 7649d361e4c27d84789df2a8fff2ed362c7ef420 Block sync hash traversal perf (#3558)
    • a3aed4aae5fe07323796fb5986e26d368c12e01c fix for missing block under certain startup conditions (#3555)
    • 61982efdd9d0bbc27c295e6a2583c5fba1f54e97 Safety: check length during deserialization (#3551)
    • 4877f30e2cae8dd450da3a53eb5a62569fa6703f override old accept_fee_base setting of 1000000 to new default 500000 (#3539)
    • 6f142b4c751ffd475f2b1a3db20f26674ed00313 Downgrade CI VM to Ubuntu 18.04 (#3535)
    • 35ebdea967b9f64504b3132dff018332dd3807fc Bump master version to 5.1.0-alpha.1 (#3510)
    • 1baa59c44da8abdcbe4ffd7804111c7b21effeba prefer outbound peers when syncing (consistently) (#3521)
    • acba73bf40242f963d8ea1e7128dfdfde6fb8853 reomve unused function (#3509)
    • eaf9bcf2bf1dad2c4b79af25d542ac1c378ca90f Block migration db flag (only migrate once) (#3512)

    This list of changes was auto generated.

    Source code(tar.gz)
    Source code(zip)
    grin-v5.1.0-beta.2-linux-amd64-sha256sum.txt(112 bytes)
    grin-v5.1.0-beta.2-linux-amd64.tar.gz(6.86 MB)
    grin-v5.1.0-beta.2-macos-sha256sum.txt(106 bytes)
    grin-v5.1.0-beta.2-macos.tar.gz(5.21 MB)
    grin-v5.1.0-beta.2-win-x64-sha256sum.txt(304 bytes)
    grin-v5.1.0-beta.2-win-x64.zip(4.47 MB)
  • v5.1.0-beta.1(Apr 29, 2021)

    Changes:

    • 89c06ddab717b6a7dcaf0a26c64740496b90328d client invalidateheader and resetchainhead (#3618)
    • 9e27e6f9d3e960466b75f666057143c06e2f5cfc Add migration to config_file_version = 2 (#3634)
    • 9ed0cd65ef1acd1a11794691e93c18e29314a812 fix share difficulty validation - compare stratum server minimum_share_difficulty as unscaled difficulty (#3624)
    • 1b8acee72e7a4236cdf8561a7af5f894bfe11985 Update zip dependency and fix deprecation warnings (#3617)
    • f8afdb5faa11c46e3b3213cc2dcc451159994452 Fix Windows CI cargo test silently passing (#3632)
    • 34413c1cab61e01aa0a1682c0fc18f9b2b70b23e track sync_head on header_sync sync status (#3626)
    • df91bff0f1ba788fe2b9154205381fb079610a05 Add test for duplicate rangeproof inflation bug (#3630)
    • f6ec77a592de04fcc4a78127822932ec7e18525c never speak of the verifier cache again (#3628)
    • cccaf984936d4792f8b6c39e6b500ad2e3f08817 enhance comment describing how a pow is hashed (#3623)
    • 09c90fc25716a0cb016f19b609b17454c1541fc6 cleanup and stop wrapping errors in other/unfit (#3616)
    See More
    • 25d93c860664f30fe697769a91a844f50469c489 Revert "Allow rest api to shutdown (#3614)" (#3625)
    • 0acf3803206a7d215f09877374b6040b99b6800e Remove unnecessary trailing semicolom (#3619)
    • 4a09fed36ca8f2b9f3ccd2e1c518e777a4c1da6a Allow rest api to shutdown (#3614)
    • e8b46f14099169a53bb41899ad3b749c72752371 Update ring to v0.16.20 (#3612)
    • 431e4b97b78e4fdc74beff00af5f32e4ab1d3f45 Defork croaring (#3596)
    • 302c8ec92869c8280c069a7be3ec61e9fc013037 Make of this what you will but it cargo fmt better (#3572)
    • 87ff219d37b59c8e3cd8ab7f8629af4b9fd12dd1 Removing verifier caches (#3597)
    • 6690b25f05d32bb43a1e6b24741179e05d98e53f Enable block archival sync (#3579)
    • 846b8f82e8591503b4131e64cda89409dcbdffdd fix for missing increment of stratum stats blocks_found (#3593)
    • 0259ed23ea584523f7617d728e345fee899189c1 Update copyright year to 2021 (#3592)
    • 725622da7a79dcc9eec5f0b79b6a8fa725e0662c Remove imports and cleanups (#3590)
    • 45f74c396d6a6c7d049dfb040afb2cb82c44537e Remove unused imports (#3589)
    • 35740204a1b212131afea502b49af4632aec8913 no more conversion to support v2 blocks (#3587)
    • e0237396581c2894e437b254cb1509d2227be765 Update and do not use serve private export (#3585)
    • 059e6ad5455bcccf3afa4fe5e9a7d6b1712dcaca Mining tui updates (#3584)
    • 64b2fddbf176039b0539084113742541ec9558c7 [5.0.x] Fix PIBD segments (#3532) (#3583)
    • 98e183c8b81224f6bf4e4ee352502c367878125f Update Client to v2 API (#3582)
    • 7b51851ab41b37f2a3d8faf4d3dad9668c76f2c5 Update Tokio, hyper versions (#3580)
    • 682c520968824bf170ecb507b9ee973b2fdf2f88 Update grin-secp256k1zkp to 0.7.10 (#3581)
    • eefd0eac97fa0b3ba8f3a2f9f9f25ed7ac813068 Update to cursive 0.16 (#3547)
    • 4284458e17066fe6788e32f8ab04546bed72b34b more consistent handling of peers_preferred during startup (#3578)
    • 03b7518884c40d83be47368a3e93a6cdd06f3cb2 cleanup redundant sync_head and associated MMR (#3556)
    • 3583028781ba3b2641e9147a02e4b28090d04187 Prune list iterators (#3574)
    • adddff9155f55448dd099194077e86b7f4d8810d optimization for reading peak hashes from backend file (#3575)
    • 7487ffd75b2c69e15141648a3ea064c049fc5daa replace subtree with pruned root (#3576)
    • 57f459249904a5e4ed2ed4bc26448dfcbf8aabeb Retire pruned cache (#3573)
    • 08523b2b39b1ba6b6a52e04f190bad847e1421df add BLOCK_HIST capabilities on startup if config archive_mode=true (#3563)
    • 9c44a4d08fb357db60a49ca260e5321d520a5d75 Refactor prune file replace (#3571)
    • a3c9b478e2261002e47bdf3fcad51037512128b6 [5.0.x] inefficient locking on recv of peers lists can result in failure to get peers lock (#3566) (#3570)
    • 4de2d9243368e96631209c84a24ce58adbdb4e0f Revert "rework prune rewrite with iterators (#3568)" (#3569)
    • 5092652b0ca4c11b52d59dfc197b41087dc04c16 rework prune rewrite with iterators (#3568)
    • 5b9664bccf87793474aa29d73e8f89e543c1144f inc quietly on small batches of headers (#3564)
    • 524dbd01701201bbe2e0f87a00a724403e632b0e pibd capabilities test was only relevant temporarily (#3565)
    • 4ab72902e0a67bcb1e4ce4b045c3eee40fbc7800 add rate limiting to outbound p2p msg sending (#3560)
    • 7649d361e4c27d84789df2a8fff2ed362c7ef420 Block sync hash traversal perf (#3558)
    • a3aed4aae5fe07323796fb5986e26d368c12e01c fix for missing block under certain startup conditions (#3555)
    • 61982efdd9d0bbc27c295e6a2583c5fba1f54e97 Safety: check length during deserialization (#3551)
    • 4877f30e2cae8dd450da3a53eb5a62569fa6703f override old accept_fee_base setting of 1000000 to new default 500000 (#3539)
    • 6f142b4c751ffd475f2b1a3db20f26674ed00313 Downgrade CI VM to Ubuntu 18.04 (#3535)
    • 35ebdea967b9f64504b3132dff018332dd3807fc Bump master version to 5.1.0-alpha.1 (#3510)
    • 1baa59c44da8abdcbe4ffd7804111c7b21effeba prefer outbound peers when syncing (consistently) (#3521)
    • acba73bf40242f963d8ea1e7128dfdfde6fb8853 reomve unused function (#3509)
    • eaf9bcf2bf1dad2c4b79af25d542ac1c378ca90f Block migration db flag (only migrate once) (#3512)

    This list of changes was auto generated.

    Source code(tar.gz)
    Source code(zip)
    grin-v5.1.0-beta.1-linux-amd64-sha256sum.txt(112 bytes)
    grin-v5.1.0-beta.1-linux-amd64.tar.gz(6.86 MB)
    grin-v5.1.0-beta.1-macos-sha256sum.txt(106 bytes)
    grin-v5.1.0-beta.1-macos.tar.gz(5.21 MB)
    grin-v5.1.0-beta.1-win-x64-sha256sum.txt(304 bytes)
    grin-v5.1.0-beta.1-win-x64.zip(4.48 MB)
  • v5.0.4(Mar 19, 2021)

    Changes:

    • 9af305163632479a73efd668f182c232da34f154 Bump version for v5.0.4 release (#3604)
    • d0c852e9113fb5f2eb88bc074f8663a01f48448a rewind bad headers, ban on explicit bad headers (#3603)

    This list of changes was auto generated.

    Source code(tar.gz)
    Source code(zip)
    grin-v5.0.4-linux-amd64-sha256sum.txt(105 bytes)
    grin-v5.0.4-linux-amd64.tar.gz(6.66 MB)
    grin-v5.0.4-macos-sha256sum.txt(99 bytes)
    grin-v5.0.4-macos.tar.gz(5.11 MB)
    grin-v5.0.4-win-x64-sha256sum.txt(290 bytes)
    grin-v5.0.4-win-x64.zip(4.46 MB)
  • v5.0.3(Mar 18, 2021)

  • v5.0.2(Mar 18, 2021)

    Changes:

    • 1271b560bcdd23d49f1ec8eb9f7da137c613d81b Bump version to v5.0.2 (#3599)
    • a6ef3d8df774eb75e4381218a2e7f91fe3341ad9 Removing verifier caches (#3598)
    • a1fe831501906546af954cbae0f9cff352004948 [5.0.x] Do not use serde private export (#3544)
    • 1dfd2b48c1d3e4a2f0a9e0dde14b4cf4f82230b3 [5.0.x] inefficient locking on recv of peers lists can result in failure to get peers lock (#3566)
    • 52d18f52213524cb9d4fe89b4a71fa2adc8f7938 fix for missing block under certain startup conditions (#3557)
    • b7a9f7b017ebb0810c522cd17e91a098b0ae5ad4 Safety: check length during deserialization (#3549)

    This list of changes was auto generated.

    Source code(tar.gz)
    Source code(zip)
    grin-v5.0.2-linux-amd64-sha256sum.txt(105 bytes)
    grin-v5.0.2-linux-amd64.tar.gz(6.65 MB)
    grin-v5.0.2-macos-sha256sum.txt(99 bytes)
    grin-v5.0.2-macos.tar.gz(5.10 MB)
    grin-v5.0.2-win-x64-sha256sum.txt(290 bytes)
    grin-v5.0.2-win-x64.zip(4.44 MB)
  • v5.0.1(Jan 6, 2021)

    Changes:

    • 298accb6f382ab9e96c73ea3fae70ab88d2372a9 bump version to 5.0.1 (#3542)
    • d5bd93f816e703a599f129404a83439fd5ed2bc4 override old accept_fee_base setting of 1000000 to new default 500000 (#3539) (#3541)

    This list of changes was auto generated.

    Source code(tar.gz)
    Source code(zip)
    grin-v5.0.1-linux-amd64-sha256sum.txt(105 bytes)
    grin-v5.0.1-linux-amd64.tar.gz(6.72 MB)
    grin-v5.0.1-macos-sha256sum.txt(99 bytes)
    grin-v5.0.1-macos.tar.gz(5.15 MB)
    grin-v5.0.1-win-x64-sha256sum.txt(290 bytes)
    grin-v5.0.1-win-x64.zip(4.51 MB)
  • v5.0.0(Jan 5, 2021)

    Changes:

    • 8849389c1231c1797edaf5097fdad767d5720245 Downgrade CI VM to Ubuntu 18.04 (#3535) (#3536)
    • 70f6f523f6b6dafa120194839cda393f44702da1 bump version to 5.0.0 (#3534)
    • 2adf94c4caffd3800c465cbdeee3cc6254e3b2d8 [5.0.x] bump version to 5.0.0-rc.2 (#3533)
    • 49f0f3b062abb4c8c84838b7deae6f70e04d54d6 [5.0.x] Fix PIBD segments (#3532)
    • 8302f2381aadfaa9e451ce6cfaa98728e64dffb5 bump version for 5.0.0-rc.1 (#3531)
    • a39307a5eb68e6dea6a264d06200fa79bf27c5f2 bump version to 5.0.0-beta.3 prior to tagging for release (#3529)
    • 0114c95531cfc4befc7876bcc8605b0f4047ffaa Update Client to v2 API (#3524)
    • f25adef3fa3699fd07034c044dcd83f6818d0fd1 prefer outbound peers when syncing (consistently) (#3527)
    • 9e279f2c67962ed3cee758cee5933160a01f166e Update grin-secp256k1zkp to 0.7.10 (#3520)
    • 388be75be2f33afe39f25161decd18b6119b656e Update tokio, hyper versions (#3514)
    See More
    • 6d337425bf51b086313aa3e7da5936305dd95a28 [5.0.x] Block migration flag (#3513)
    • f48a23655ded65285ab412ad22b8f6a7a0075e56 bump 5.0.0-beta.2 after fixing windows release script (#3508)
    • 623e7d2e597e41c00d830d7b6981200a5fb79366 refreshenv as part of windows release script (#3507)
    • 64c8e0cf0a1f5a82b3b442ac8e6dec4b0668d752 Bump version to 5.0.0-beta.1 (#3505)
    • 48efb693e2e5cdf60449b7f009214491d5bf3646 Fixfees (#3481)
    • 14f4683ca10759357a67d934b0dd2772fbebecb7 enable PIBD_HIST capability by default (#3500)
    • 96afc766a19f044607926b40fc0491ef9d7b9570 PIBD segment p2p messages (#3496)
    • 9abb6e3e01143c01aa831f3590e100edfcb1886a Disable API v1 (#3503)
    • cbd6c3350d67639f1cc69df3e6fa8a68ed6c3412 fix, no more FULL_NODE (#3504)
    • fd5dfaaec47019f7a66bcbdac5a7a379a73237a8 reorg cache fix (#3495)
    • 3efe382e9c1a4fadc4131b64b6de8c9a7179d1e7 add peer capabilities to tui peers screen (#3490)
    • 97425af637c3ac84654533dc322ce40bbadcdb0c make min_wtema difficulty chain type dependent (#3502)
    • 6e73e00d6b5cb0169387060cdfdbe96ee497e3c7 fix calls to next_diff() in tests to use next height correctly (#3501)
    • f86102b2a619a08a5fe3a1e645363bea73a1dc88 fixDAA; implement wtema (#3477)
    • a5b896882629f3c327825a8f0ea58324bf1ac2e2 HardFork4 (#3478)
    • 2125c05020f0baba12911c0ba9200c9261d9ba73 use extend_from_slice when appending multiple hashes to hash file (#3497)
    • 055b6844165fe1787016277b8d66c8c7f6acf904 More efficient serialization for bitmap segments (#3492)
    • b3938de8b3f8e648c1c3a89974f40bc61212a256 we have no patch file and nothing to patch (#3499)
    • cba313733851347cd08f6afe24d2814719fb10a6 add segmenter for generating segments from txhashset with consistent rewind (#3482)
    • 5282ecb12f86ac6cc11c70c36f11cadf0e252d83 try and call refreshenv before running tests on windows (#3498)
    • b5c6d24b40c3b93db0ee4bd61c88d92900692d12 default capabilities cleanup (#3484)
    • 8faba4ef83511b09c50229749f586428a45430e6 PMMR segment creation and validation (#3453)
    • e6145db7432ab80a09050c47212fecc19db46325 Disable merkle proofs for v2 get_block (#3487)
    • 49cccea035f063cd0a9d9a59e0dcf884de2b423b on_block_accepted logging and webhooks all the time (#3486)
    • 25fcefada2e290ea4322ec8e4483e31ef168f91b Flexible peer filtering (#3458)
    • cea546ceb8b5be0fc4462489e8a4761bc395fb18 fix: correct typo in SECURITY.md (#3462)
    • 145c2874f5df263581acebaef9aab16f5ecedd6b fix v2 conversion to ensure we provide blocks in correct format (#3465)
    • cf2a65242d9805b0688e40f2432250461aa56561 Rename Floonet to Testnet (#3431)
    • 4c6d1dd4bd55e7ee8ad697d008d3292fbf09f99e Define get_data_from_file function on ReadablePMMR trait (#3464)
    • e7bbda81a0a815994955ce8fc71f710cd17a11bb migrate blocks in batches (rework db iterator impl) (#3450)
    • eab26b3ae40095af19f8026b204b14910ec19bb8 CI: no directories in checksum file (#3460)
    • c3b1ccff3cf99b9d14de60791b8e2bbc9b35ccf1 Cleanup usage of legacy bitmaps. (#3455)
    • f25b7ae0326c3380c1b7855df46c7b3e772d7ad9 use choose_multiple to clean get_peers() up (#3457)
    • cc4e608d1ba9d533f8972dd898a43335e2605a26 cleanup validate() no need to return kernel sums (#3456)
    • 0aec8b533b2ac45614150132b8f40dbac475539a Refactor PMMR read methods into trait (#3454)
    • defc714f6e5920f6ee5f13f5af379735fce1a9e6 Refactor p2p reader (#3433)
    • 4944679fb2b9d3e4cbbe5c8d29375a1b2b0e649f add test coverage around existing behavior for exists() and iter() (#3452)
    • 62783997dff5a80226c31124f0036cf00b6c48b2 refactor get_ser to use get_with internally (#3451)
    • f40564ef346dab7406ac8b833f71ba45669e5ebb Update Code of Conduct (#3447)
    • dc47beda78fe982536117a21f107485f439c82d1 cleanup mining stats (#3439)
    • a22d98e9d59169ffeb34255c02f48931b0d1840b bump working version on master to 4.2.0-alpha.1 (#3443)

    This list of changes was auto generated.

    Source code(tar.gz)
    Source code(zip)
    grin-v5.0.0-linux-amd64-sha256sum.txt(105 bytes)
    grin-v5.0.0-linux-amd64.tar.gz(6.71 MB)
    grin-v5.0.0-macos-sha256sum.txt(99 bytes)
    grin-v5.0.0-macos.tar.gz(5.15 MB)
    grin-v5.0.0-win-x64-sha256sum.txt(290 bytes)
    grin-v5.0.0-win-x64.zip(4.51 MB)
  • v5.0.0-rc.2(Dec 23, 2020)

    Changes:

    • 2adf94c4caffd3800c465cbdeee3cc6254e3b2d8 [5.0.x] bump version to 5.0.0-rc.2 (#3533)
    • 49f0f3b062abb4c8c84838b7deae6f70e04d54d6 [5.0.x] Fix PIBD segments (#3532)
    • 8302f2381aadfaa9e451ce6cfaa98728e64dffb5 bump version for 5.0.0-rc.1 (#3531)
    • a39307a5eb68e6dea6a264d06200fa79bf27c5f2 bump version to 5.0.0-beta.3 prior to tagging for release (#3529)
    • 0114c95531cfc4befc7876bcc8605b0f4047ffaa Update Client to v2 API (#3524)
    • f25adef3fa3699fd07034c044dcd83f6818d0fd1 prefer outbound peers when syncing (consistently) (#3527)
    • 9e279f2c67962ed3cee758cee5933160a01f166e Update grin-secp256k1zkp to 0.7.10 (#3520)
    • 388be75be2f33afe39f25161decd18b6119b656e Update tokio, hyper versions (#3514)
    • 6d337425bf51b086313aa3e7da5936305dd95a28 [5.0.x] Block migration flag (#3513)
    • f48a23655ded65285ab412ad22b8f6a7a0075e56 bump 5.0.0-beta.2 after fixing windows release script (#3508)
    See More
    • 623e7d2e597e41c00d830d7b6981200a5fb79366 refreshenv as part of windows release script (#3507)
    • 64c8e0cf0a1f5a82b3b442ac8e6dec4b0668d752 Bump version to 5.0.0-beta.1 (#3505)
    • 48efb693e2e5cdf60449b7f009214491d5bf3646 Fixfees (#3481)
    • 14f4683ca10759357a67d934b0dd2772fbebecb7 enable PIBD_HIST capability by default (#3500)
    • 96afc766a19f044607926b40fc0491ef9d7b9570 PIBD segment p2p messages (#3496)
    • 9abb6e3e01143c01aa831f3590e100edfcb1886a Disable API v1 (#3503)
    • cbd6c3350d67639f1cc69df3e6fa8a68ed6c3412 fix, no more FULL_NODE (#3504)
    • fd5dfaaec47019f7a66bcbdac5a7a379a73237a8 reorg cache fix (#3495)
    • 3efe382e9c1a4fadc4131b64b6de8c9a7179d1e7 add peer capabilities to tui peers screen (#3490)
    • 97425af637c3ac84654533dc322ce40bbadcdb0c make min_wtema difficulty chain type dependent (#3502)
    • 6e73e00d6b5cb0169387060cdfdbe96ee497e3c7 fix calls to next_diff() in tests to use next height correctly (#3501)
    • f86102b2a619a08a5fe3a1e645363bea73a1dc88 fixDAA; implement wtema (#3477)
    • a5b896882629f3c327825a8f0ea58324bf1ac2e2 HardFork4 (#3478)
    • 2125c05020f0baba12911c0ba9200c9261d9ba73 use extend_from_slice when appending multiple hashes to hash file (#3497)
    • 055b6844165fe1787016277b8d66c8c7f6acf904 More efficient serialization for bitmap segments (#3492)
    • b3938de8b3f8e648c1c3a89974f40bc61212a256 we have no patch file and nothing to patch (#3499)
    • cba313733851347cd08f6afe24d2814719fb10a6 add segmenter for generating segments from txhashset with consistent rewind (#3482)
    • 5282ecb12f86ac6cc11c70c36f11cadf0e252d83 try and call refreshenv before running tests on windows (#3498)
    • b5c6d24b40c3b93db0ee4bd61c88d92900692d12 default capabilities cleanup (#3484)
    • 8faba4ef83511b09c50229749f586428a45430e6 PMMR segment creation and validation (#3453)
    • e6145db7432ab80a09050c47212fecc19db46325 Disable merkle proofs for v2 get_block (#3487)
    • 49cccea035f063cd0a9d9a59e0dcf884de2b423b on_block_accepted logging and webhooks all the time (#3486)
    • 25fcefada2e290ea4322ec8e4483e31ef168f91b Flexible peer filtering (#3458)
    • cea546ceb8b5be0fc4462489e8a4761bc395fb18 fix: correct typo in SECURITY.md (#3462)
    • 145c2874f5df263581acebaef9aab16f5ecedd6b fix v2 conversion to ensure we provide blocks in correct format (#3465)
    • cf2a65242d9805b0688e40f2432250461aa56561 Rename Floonet to Testnet (#3431)
    • 4c6d1dd4bd55e7ee8ad697d008d3292fbf09f99e Define get_data_from_file function on ReadablePMMR trait (#3464)
    • e7bbda81a0a815994955ce8fc71f710cd17a11bb migrate blocks in batches (rework db iterator impl) (#3450)
    • eab26b3ae40095af19f8026b204b14910ec19bb8 CI: no directories in checksum file (#3460)
    • c3b1ccff3cf99b9d14de60791b8e2bbc9b35ccf1 Cleanup usage of legacy bitmaps. (#3455)
    • f25b7ae0326c3380c1b7855df46c7b3e772d7ad9 use choose_multiple to clean get_peers() up (#3457)
    • cc4e608d1ba9d533f8972dd898a43335e2605a26 cleanup validate() no need to return kernel sums (#3456)
    • 0aec8b533b2ac45614150132b8f40dbac475539a Refactor PMMR read methods into trait (#3454)
    • defc714f6e5920f6ee5f13f5af379735fce1a9e6 Refactor p2p reader (#3433)
    • 4944679fb2b9d3e4cbbe5c8d29375a1b2b0e649f add test coverage around existing behavior for exists() and iter() (#3452)
    • 62783997dff5a80226c31124f0036cf00b6c48b2 refactor get_ser to use get_with internally (#3451)
    • f40564ef346dab7406ac8b833f71ba45669e5ebb Update Code of Conduct (#3447)
    • dc47beda78fe982536117a21f107485f439c82d1 cleanup mining stats (#3439)
    • a22d98e9d59169ffeb34255c02f48931b0d1840b bump working version on master to 4.2.0-alpha.1 (#3443)

    This list of changes was auto generated.

    Source code(tar.gz)
    Source code(zip)
    grin-v5.0.0-rc.2-linux-amd64-sha256sum.txt(110 bytes)
    grin-v5.0.0-rc.2-linux-amd64.tar.gz(6.71 MB)
    grin-v5.0.0-rc.2-macos-sha256sum.txt(104 bytes)
    grin-v5.0.0-rc.2-macos.tar.gz(5.15 MB)
    grin-v5.0.0-rc.2-win-x64-sha256sum.txt(300 bytes)
    grin-v5.0.0-rc.2-win-x64.zip(4.51 MB)
  • v5.0.0-rc.1(Dec 20, 2020)

    Changes:

    • 8302f2381aadfaa9e451ce6cfaa98728e64dffb5 bump version for 5.0.0-rc.1 (#3531)
    • a39307a5eb68e6dea6a264d06200fa79bf27c5f2 bump version to 5.0.0-beta.3 prior to tagging for release (#3529)
    • 0114c95531cfc4befc7876bcc8605b0f4047ffaa Update Client to v2 API (#3524)
    • f25adef3fa3699fd07034c044dcd83f6818d0fd1 prefer outbound peers when syncing (consistently) (#3527)
    • 9e279f2c67962ed3cee758cee5933160a01f166e Update grin-secp256k1zkp to 0.7.10 (#3520)
    • 388be75be2f33afe39f25161decd18b6119b656e Update tokio, hyper versions (#3514)
    • 6d337425bf51b086313aa3e7da5936305dd95a28 [5.0.x] Block migration flag (#3513)
    • f48a23655ded65285ab412ad22b8f6a7a0075e56 bump 5.0.0-beta.2 after fixing windows release script (#3508)
    • 623e7d2e597e41c00d830d7b6981200a5fb79366 refreshenv as part of windows release script (#3507)
    • 64c8e0cf0a1f5a82b3b442ac8e6dec4b0668d752 Bump version to 5.0.0-beta.1 (#3505)
    See More
    • 48efb693e2e5cdf60449b7f009214491d5bf3646 Fixfees (#3481)
    • 14f4683ca10759357a67d934b0dd2772fbebecb7 enable PIBD_HIST capability by default (#3500)
    • 96afc766a19f044607926b40fc0491ef9d7b9570 PIBD segment p2p messages (#3496)
    • 9abb6e3e01143c01aa831f3590e100edfcb1886a Disable API v1 (#3503)
    • cbd6c3350d67639f1cc69df3e6fa8a68ed6c3412 fix, no more FULL_NODE (#3504)
    • fd5dfaaec47019f7a66bcbdac5a7a379a73237a8 reorg cache fix (#3495)
    • 3efe382e9c1a4fadc4131b64b6de8c9a7179d1e7 add peer capabilities to tui peers screen (#3490)
    • 97425af637c3ac84654533dc322ce40bbadcdb0c make min_wtema difficulty chain type dependent (#3502)
    • 6e73e00d6b5cb0169387060cdfdbe96ee497e3c7 fix calls to next_diff() in tests to use next height correctly (#3501)
    • f86102b2a619a08a5fe3a1e645363bea73a1dc88 fixDAA; implement wtema (#3477)
    • a5b896882629f3c327825a8f0ea58324bf1ac2e2 HardFork4 (#3478)
    • 2125c05020f0baba12911c0ba9200c9261d9ba73 use extend_from_slice when appending multiple hashes to hash file (#3497)
    • 055b6844165fe1787016277b8d66c8c7f6acf904 More efficient serialization for bitmap segments (#3492)
    • b3938de8b3f8e648c1c3a89974f40bc61212a256 we have no patch file and nothing to patch (#3499)
    • cba313733851347cd08f6afe24d2814719fb10a6 add segmenter for generating segments from txhashset with consistent rewind (#3482)
    • 5282ecb12f86ac6cc11c70c36f11cadf0e252d83 try and call refreshenv before running tests on windows (#3498)
    • b5c6d24b40c3b93db0ee4bd61c88d92900692d12 default capabilities cleanup (#3484)
    • 8faba4ef83511b09c50229749f586428a45430e6 PMMR segment creation and validation (#3453)
    • e6145db7432ab80a09050c47212fecc19db46325 Disable merkle proofs for v2 get_block (#3487)
    • 49cccea035f063cd0a9d9a59e0dcf884de2b423b on_block_accepted logging and webhooks all the time (#3486)
    • 25fcefada2e290ea4322ec8e4483e31ef168f91b Flexible peer filtering (#3458)
    • cea546ceb8b5be0fc4462489e8a4761bc395fb18 fix: correct typo in SECURITY.md (#3462)
    • 145c2874f5df263581acebaef9aab16f5ecedd6b fix v2 conversion to ensure we provide blocks in correct format (#3465)
    • cf2a65242d9805b0688e40f2432250461aa56561 Rename Floonet to Testnet (#3431)
    • 4c6d1dd4bd55e7ee8ad697d008d3292fbf09f99e Define get_data_from_file function on ReadablePMMR trait (#3464)
    • e7bbda81a0a815994955ce8fc71f710cd17a11bb migrate blocks in batches (rework db iterator impl) (#3450)
    • eab26b3ae40095af19f8026b204b14910ec19bb8 CI: no directories in checksum file (#3460)
    • c3b1ccff3cf99b9d14de60791b8e2bbc9b35ccf1 Cleanup usage of legacy bitmaps. (#3455)
    • f25b7ae0326c3380c1b7855df46c7b3e772d7ad9 use choose_multiple to clean get_peers() up (#3457)
    • cc4e608d1ba9d533f8972dd898a43335e2605a26 cleanup validate() no need to return kernel sums (#3456)
    • 0aec8b533b2ac45614150132b8f40dbac475539a Refactor PMMR read methods into trait (#3454)
    • defc714f6e5920f6ee5f13f5af379735fce1a9e6 Refactor p2p reader (#3433)
    • 4944679fb2b9d3e4cbbe5c8d29375a1b2b0e649f add test coverage around existing behavior for exists() and iter() (#3452)
    • 62783997dff5a80226c31124f0036cf00b6c48b2 refactor get_ser to use get_with internally (#3451)
    • f40564ef346dab7406ac8b833f71ba45669e5ebb Update Code of Conduct (#3447)
    • dc47beda78fe982536117a21f107485f439c82d1 cleanup mining stats (#3439)
    • a22d98e9d59169ffeb34255c02f48931b0d1840b bump working version on master to 4.2.0-alpha.1 (#3443)

    This list of changes was auto generated.

    Source code(tar.gz)
    Source code(zip)
    grin-v5.0.0-rc.1-linux-amd64-sha256sum.txt(110 bytes)
    grin-v5.0.0-rc.1-linux-amd64.tar.gz(6.71 MB)
    grin-v5.0.0-rc.1-macos-sha256sum.txt(104 bytes)
    grin-v5.0.0-rc.1-macos.tar.gz(5.14 MB)
    grin-v5.0.0-rc.1-win-x64-sha256sum.txt(300 bytes)
    grin-v5.0.0-rc.1-win-x64.zip(4.51 MB)
  • v5.0.0-beta.3(Dec 16, 2020)

    Changes:

    • a39307a5eb68e6dea6a264d06200fa79bf27c5f2 bump version to 5.0.0-beta.3 prior to tagging for release (#3529)
    • 0114c95531cfc4befc7876bcc8605b0f4047ffaa Update Client to v2 API (#3524)
    • f25adef3fa3699fd07034c044dcd83f6818d0fd1 prefer outbound peers when syncing (consistently) (#3527)
    • 9e279f2c67962ed3cee758cee5933160a01f166e Update grin-secp256k1zkp to 0.7.10 (#3520)
    • 388be75be2f33afe39f25161decd18b6119b656e Update tokio, hyper versions (#3514)
    • 6d337425bf51b086313aa3e7da5936305dd95a28 [5.0.x] Block migration flag (#3513)
    • f48a23655ded65285ab412ad22b8f6a7a0075e56 bump 5.0.0-beta.2 after fixing windows release script (#3508)
    • 623e7d2e597e41c00d830d7b6981200a5fb79366 refreshenv as part of windows release script (#3507)
    • 64c8e0cf0a1f5a82b3b442ac8e6dec4b0668d752 Bump version to 5.0.0-beta.1 (#3505)
    • 48efb693e2e5cdf60449b7f009214491d5bf3646 Fixfees (#3481)
    See More
    • 14f4683ca10759357a67d934b0dd2772fbebecb7 enable PIBD_HIST capability by default (#3500)
    • 96afc766a19f044607926b40fc0491ef9d7b9570 PIBD segment p2p messages (#3496)
    • 9abb6e3e01143c01aa831f3590e100edfcb1886a Disable API v1 (#3503)
    • cbd6c3350d67639f1cc69df3e6fa8a68ed6c3412 fix, no more FULL_NODE (#3504)
    • fd5dfaaec47019f7a66bcbdac5a7a379a73237a8 reorg cache fix (#3495)
    • 3efe382e9c1a4fadc4131b64b6de8c9a7179d1e7 add peer capabilities to tui peers screen (#3490)
    • 97425af637c3ac84654533dc322ce40bbadcdb0c make min_wtema difficulty chain type dependent (#3502)
    • 6e73e00d6b5cb0169387060cdfdbe96ee497e3c7 fix calls to next_diff() in tests to use next height correctly (#3501)
    • f86102b2a619a08a5fe3a1e645363bea73a1dc88 fixDAA; implement wtema (#3477)
    • a5b896882629f3c327825a8f0ea58324bf1ac2e2 HardFork4 (#3478)
    • 2125c05020f0baba12911c0ba9200c9261d9ba73 use extend_from_slice when appending multiple hashes to hash file (#3497)
    • 055b6844165fe1787016277b8d66c8c7f6acf904 More efficient serialization for bitmap segments (#3492)
    • b3938de8b3f8e648c1c3a89974f40bc61212a256 we have no patch file and nothing to patch (#3499)
    • cba313733851347cd08f6afe24d2814719fb10a6 add segmenter for generating segments from txhashset with consistent rewind (#3482)
    • 5282ecb12f86ac6cc11c70c36f11cadf0e252d83 try and call refreshenv before running tests on windows (#3498)
    • b5c6d24b40c3b93db0ee4bd61c88d92900692d12 default capabilities cleanup (#3484)
    • 8faba4ef83511b09c50229749f586428a45430e6 PMMR segment creation and validation (#3453)
    • e6145db7432ab80a09050c47212fecc19db46325 Disable merkle proofs for v2 get_block (#3487)
    • 49cccea035f063cd0a9d9a59e0dcf884de2b423b on_block_accepted logging and webhooks all the time (#3486)
    • 25fcefada2e290ea4322ec8e4483e31ef168f91b Flexible peer filtering (#3458)
    • cea546ceb8b5be0fc4462489e8a4761bc395fb18 fix: correct typo in SECURITY.md (#3462)
    • 145c2874f5df263581acebaef9aab16f5ecedd6b fix v2 conversion to ensure we provide blocks in correct format (#3465)
    • cf2a65242d9805b0688e40f2432250461aa56561 Rename Floonet to Testnet (#3431)
    • 4c6d1dd4bd55e7ee8ad697d008d3292fbf09f99e Define get_data_from_file function on ReadablePMMR trait (#3464)
    • e7bbda81a0a815994955ce8fc71f710cd17a11bb migrate blocks in batches (rework db iterator impl) (#3450)
    • eab26b3ae40095af19f8026b204b14910ec19bb8 CI: no directories in checksum file (#3460)
    • c3b1ccff3cf99b9d14de60791b8e2bbc9b35ccf1 Cleanup usage of legacy bitmaps. (#3455)
    • f25b7ae0326c3380c1b7855df46c7b3e772d7ad9 use choose_multiple to clean get_peers() up (#3457)
    • cc4e608d1ba9d533f8972dd898a43335e2605a26 cleanup validate() no need to return kernel sums (#3456)
    • 0aec8b533b2ac45614150132b8f40dbac475539a Refactor PMMR read methods into trait (#3454)
    • defc714f6e5920f6ee5f13f5af379735fce1a9e6 Refactor p2p reader (#3433)
    • 4944679fb2b9d3e4cbbe5c8d29375a1b2b0e649f add test coverage around existing behavior for exists() and iter() (#3452)
    • 62783997dff5a80226c31124f0036cf00b6c48b2 refactor get_ser to use get_with internally (#3451)
    • f40564ef346dab7406ac8b833f71ba45669e5ebb Update Code of Conduct (#3447)
    • dc47beda78fe982536117a21f107485f439c82d1 cleanup mining stats (#3439)
    • a22d98e9d59169ffeb34255c02f48931b0d1840b bump working version on master to 4.2.0-alpha.1 (#3443)

    This list of changes was auto generated.

    Source code(tar.gz)
    Source code(zip)
    grin-v5.0.0-beta.3-linux-amd64-sha256sum.txt(112 bytes)
    grin-v5.0.0-beta.3-linux-amd64.tar.gz(6.72 MB)
    grin-v5.0.0-beta.3-macos-sha256sum.txt(106 bytes)
    grin-v5.0.0-beta.3-macos.tar.gz(5.15 MB)
    grin-v5.0.0-beta.3-win-x64-sha256sum.txt(304 bytes)
    grin-v5.0.0-beta.3-win-x64.zip(4.50 MB)
  • v5.0.0-beta.2(Nov 26, 2020)

    Changes:

    • f48a23655ded65285ab412ad22b8f6a7a0075e56 bump 5.0.0-beta.2 after fixing windows release script (#3508)
    • 623e7d2e597e41c00d830d7b6981200a5fb79366 refreshenv as part of windows release script (#3507)
    • 64c8e0cf0a1f5a82b3b442ac8e6dec4b0668d752 Bump version to 5.0.0-beta.1 (#3505)
    • 48efb693e2e5cdf60449b7f009214491d5bf3646 Fixfees (#3481)
    • 14f4683ca10759357a67d934b0dd2772fbebecb7 enable PIBD_HIST capability by default (#3500)
    • 96afc766a19f044607926b40fc0491ef9d7b9570 PIBD segment p2p messages (#3496)
    • 9abb6e3e01143c01aa831f3590e100edfcb1886a Disable API v1 (#3503)
    • cbd6c3350d67639f1cc69df3e6fa8a68ed6c3412 fix, no more FULL_NODE (#3504)
    • fd5dfaaec47019f7a66bcbdac5a7a379a73237a8 reorg cache fix (#3495)
    • 3efe382e9c1a4fadc4131b64b6de8c9a7179d1e7 add peer capabilities to tui peers screen (#3490)
    See More
    • 97425af637c3ac84654533dc322ce40bbadcdb0c make min_wtema difficulty chain type dependent (#3502)
    • 6e73e00d6b5cb0169387060cdfdbe96ee497e3c7 fix calls to next_diff() in tests to use next height correctly (#3501)
    • f86102b2a619a08a5fe3a1e645363bea73a1dc88 fixDAA; implement wtema (#3477)
    • a5b896882629f3c327825a8f0ea58324bf1ac2e2 HardFork4 (#3478)
    • 2125c05020f0baba12911c0ba9200c9261d9ba73 use extend_from_slice when appending multiple hashes to hash file (#3497)
    • 055b6844165fe1787016277b8d66c8c7f6acf904 More efficient serialization for bitmap segments (#3492)
    • b3938de8b3f8e648c1c3a89974f40bc61212a256 we have no patch file and nothing to patch (#3499)
    • cba313733851347cd08f6afe24d2814719fb10a6 add segmenter for generating segments from txhashset with consistent rewind (#3482)
    • 5282ecb12f86ac6cc11c70c36f11cadf0e252d83 try and call refreshenv before running tests on windows (#3498)
    • b5c6d24b40c3b93db0ee4bd61c88d92900692d12 default capabilities cleanup (#3484)
    • 8faba4ef83511b09c50229749f586428a45430e6 PMMR segment creation and validation (#3453)
    • e6145db7432ab80a09050c47212fecc19db46325 Disable merkle proofs for v2 get_block (#3487)
    • 49cccea035f063cd0a9d9a59e0dcf884de2b423b on_block_accepted logging and webhooks all the time (#3486)
    • 25fcefada2e290ea4322ec8e4483e31ef168f91b Flexible peer filtering (#3458)
    • cea546ceb8b5be0fc4462489e8a4761bc395fb18 fix: correct typo in SECURITY.md (#3462)
    • 145c2874f5df263581acebaef9aab16f5ecedd6b fix v2 conversion to ensure we provide blocks in correct format (#3465)
    • cf2a65242d9805b0688e40f2432250461aa56561 Rename Floonet to Testnet (#3431)
    • 4c6d1dd4bd55e7ee8ad697d008d3292fbf09f99e Define get_data_from_file function on ReadablePMMR trait (#3464)
    • e7bbda81a0a815994955ce8fc71f710cd17a11bb migrate blocks in batches (rework db iterator impl) (#3450)
    • eab26b3ae40095af19f8026b204b14910ec19bb8 CI: no directories in checksum file (#3460)
    • c3b1ccff3cf99b9d14de60791b8e2bbc9b35ccf1 Cleanup usage of legacy bitmaps. (#3455)
    • f25b7ae0326c3380c1b7855df46c7b3e772d7ad9 use choose_multiple to clean get_peers() up (#3457)
    • cc4e608d1ba9d533f8972dd898a43335e2605a26 cleanup validate() no need to return kernel sums (#3456)
    • 0aec8b533b2ac45614150132b8f40dbac475539a Refactor PMMR read methods into trait (#3454)
    • defc714f6e5920f6ee5f13f5af379735fce1a9e6 Refactor p2p reader (#3433)
    • 4944679fb2b9d3e4cbbe5c8d29375a1b2b0e649f add test coverage around existing behavior for exists() and iter() (#3452)
    • 62783997dff5a80226c31124f0036cf00b6c48b2 refactor get_ser to use get_with internally (#3451)
    • f40564ef346dab7406ac8b833f71ba45669e5ebb Update Code of Conduct (#3447)
    • dc47beda78fe982536117a21f107485f439c82d1 cleanup mining stats (#3439)
    • a22d98e9d59169ffeb34255c02f48931b0d1840b bump working version on master to 4.2.0-alpha.1 (#3443)

    This list of changes was auto generated.

    Source code(tar.gz)
    Source code(zip)
    grin-v5.0.0-beta.2-linux-amd64-sha256sum.txt(112 bytes)
    grin-v5.0.0-beta.2-linux-amd64.tar.gz(6.55 MB)
    grin-v5.0.0-beta.2-macos-sha256sum.txt(106 bytes)
    grin-v5.0.0-beta.2-macos.tar.gz(5.01 MB)
    grin-v5.0.0-beta.2-win-x64-sha256sum.txt(304 bytes)
    grin-v5.0.0-beta.2-win-x64.zip(4.40 MB)
  • v5.0.0-beta.1(Nov 26, 2020)

    Changes:

    • 64c8e0cf0a1f5a82b3b442ac8e6dec4b0668d752 Bump version to 5.0.0-beta.1 (#3505)
    • 48efb693e2e5cdf60449b7f009214491d5bf3646 Fixfees (#3481)
    • 14f4683ca10759357a67d934b0dd2772fbebecb7 enable PIBD_HIST capability by default (#3500)
    • 96afc766a19f044607926b40fc0491ef9d7b9570 PIBD segment p2p messages (#3496)
    • 9abb6e3e01143c01aa831f3590e100edfcb1886a Disable API v1 (#3503)
    • cbd6c3350d67639f1cc69df3e6fa8a68ed6c3412 fix, no more FULL_NODE (#3504)
    • fd5dfaaec47019f7a66bcbdac5a7a379a73237a8 reorg cache fix (#3495)
    • 3efe382e9c1a4fadc4131b64b6de8c9a7179d1e7 add peer capabilities to tui peers screen (#3490)
    • 97425af637c3ac84654533dc322ce40bbadcdb0c make min_wtema difficulty chain type dependent (#3502)
    • 6e73e00d6b5cb0169387060cdfdbe96ee497e3c7 fix calls to next_diff() in tests to use next height correctly (#3501)
    See More
    • f86102b2a619a08a5fe3a1e645363bea73a1dc88 fixDAA; implement wtema (#3477)
    • a5b896882629f3c327825a8f0ea58324bf1ac2e2 HardFork4 (#3478)
    • 2125c05020f0baba12911c0ba9200c9261d9ba73 use extend_from_slice when appending multiple hashes to hash file (#3497)
    • 055b6844165fe1787016277b8d66c8c7f6acf904 More efficient serialization for bitmap segments (#3492)
    • b3938de8b3f8e648c1c3a89974f40bc61212a256 we have no patch file and nothing to patch (#3499)
    • cba313733851347cd08f6afe24d2814719fb10a6 add segmenter for generating segments from txhashset with consistent rewind (#3482)
    • 5282ecb12f86ac6cc11c70c36f11cadf0e252d83 try and call refreshenv before running tests on windows (#3498)
    • b5c6d24b40c3b93db0ee4bd61c88d92900692d12 default capabilities cleanup (#3484)
    • 8faba4ef83511b09c50229749f586428a45430e6 PMMR segment creation and validation (#3453)
    • e6145db7432ab80a09050c47212fecc19db46325 Disable merkle proofs for v2 get_block (#3487)
    • 49cccea035f063cd0a9d9a59e0dcf884de2b423b on_block_accepted logging and webhooks all the time (#3486)
    • 25fcefada2e290ea4322ec8e4483e31ef168f91b Flexible peer filtering (#3458)
    • cea546ceb8b5be0fc4462489e8a4761bc395fb18 fix: correct typo in SECURITY.md (#3462)
    • 145c2874f5df263581acebaef9aab16f5ecedd6b fix v2 conversion to ensure we provide blocks in correct format (#3465)
    • cf2a65242d9805b0688e40f2432250461aa56561 Rename Floonet to Testnet (#3431)
    • 4c6d1dd4bd55e7ee8ad697d008d3292fbf09f99e Define get_data_from_file function on ReadablePMMR trait (#3464)
    • e7bbda81a0a815994955ce8fc71f710cd17a11bb migrate blocks in batches (rework db iterator impl) (#3450)
    • eab26b3ae40095af19f8026b204b14910ec19bb8 CI: no directories in checksum file (#3460)
    • c3b1ccff3cf99b9d14de60791b8e2bbc9b35ccf1 Cleanup usage of legacy bitmaps. (#3455)
    • f25b7ae0326c3380c1b7855df46c7b3e772d7ad9 use choose_multiple to clean get_peers() up (#3457)
    • cc4e608d1ba9d533f8972dd898a43335e2605a26 cleanup validate() no need to return kernel sums (#3456)
    • 0aec8b533b2ac45614150132b8f40dbac475539a Refactor PMMR read methods into trait (#3454)
    • defc714f6e5920f6ee5f13f5af379735fce1a9e6 Refactor p2p reader (#3433)
    • 4944679fb2b9d3e4cbbe5c8d29375a1b2b0e649f add test coverage around existing behavior for exists() and iter() (#3452)
    • 62783997dff5a80226c31124f0036cf00b6c48b2 refactor get_ser to use get_with internally (#3451)
    • f40564ef346dab7406ac8b833f71ba45669e5ebb Update Code of Conduct (#3447)
    • dc47beda78fe982536117a21f107485f439c82d1 cleanup mining stats (#3439)
    • a22d98e9d59169ffeb34255c02f48931b0d1840b bump working version on master to 4.2.0-alpha.1 (#3443)

    This list of changes was auto generated.

    Source code(tar.gz)
    Source code(zip)
    grin-v5.0.0-beta.1-linux-amd64-sha256sum.txt(112 bytes)
    grin-v5.0.0-beta.1-linux-amd64.tar.gz(6.56 MB)
    grin-v5.0.0-beta.1-macos-sha256sum.txt(106 bytes)
    grin-v5.0.0-beta.1-macos.tar.gz(5.01 MB)
  • v4.1.1(Oct 8, 2020)

    Changes:

    • 300f45564accdd28820f44a5b2ba8836ef6b782a bump 4.1.1 on 4.1.x branch (#3468)
    • 7261abc3d83cf1a27ae97b06c87726fa09aefd1f fix v2 conversion to ensure we provide blocks in correct format (#3465) (#3466)
    • a16fa26250657b9493b0081445de77bd9b031cd5 bump current/4.1.x to 4.1.1-alpha.1 (#3446)

    This list of changes was auto generated.

    Source code(tar.gz)
    Source code(zip)
    grin-v4.1.1-linux-amd64-sha256sum.txt(125 bytes)
    grin-v4.1.1-linux-amd64.tar.gz(6.85 MB)
    grin-v4.1.1-macos-sha256sum.txt(122 bytes)
    grin-v4.1.1-macos.tar.gz(5.32 MB)
    grin-v4.1.1-win-x64-sha256sum.txt(290 bytes)
    grin-v4.1.1-win-x64.zip(4.73 MB)
  • v4.1.0(Sep 16, 2020)

    Changes:

    • 03dbee66b5281072bb02e08fc77d6b1e8d68f72f bump version to 4.1.0 final for release (#3444)
    • 95176a7f62be8c32cae3ab0ea27555e96c98236e bump new 4.1.0 branch to 4.1.0-beta.1 (#3442)
    • 06a09f25c4f625553053d93eab666827097fafd6 bump protocol version to 1000 to facilitate deprecation of earlier versions (#3434)
    • dfd0a649c783c2a5dee56ac2a5b539f4505a017d Organize doc files (#3436)
    • 3d07adb62186666e4e91bb78a828bb5907b5e102 Remove hashmap as disclosure contact (#3438)
    • 655e0809639e1ec0085179c0a5f7a77bf8c9fa49 maintain preferred peer connections (#3435)
    • 7dc94576bd448bdca9f4f85eae9a150317b07976 Introduce CommitOnly variant of Inputs (#3419)
    • 133089e9855686854c87d6fbe4d67df775918bee Refactor Output Identifiers (#3371)
    • caa6b8c747788e32953950a2dfd0a7c1e5d29cd2 further tweaks to block_accepted logs for clarity (#3379)
    • 1cff387f619cb5c90d00839d32e512e452794907 Use mmr sizes in header to validate header weight (#3395)
    See More
    • 78e3ec3df093a0a8d69b122f45ea26f53cc8a038 sync_all() on leaf_set and prune_list when using temp file (#3354)
    • 29cffe9b3cbfff6b57601d03db73dcde55985555 verify_cut_through and test coverage (#3424)
    • 6a012d7e5b1511eba4cd0ac33cfc528084e441cd Add TransactionPool fuzz driver (#3396)
    • a038687d202c1a802b4e6e638168bb7f61dc3e7a Fix #3380 Broken API Links (#3381)
    • efece9e0c7787a30192d1f21b0c6a71be8c24057 use sync pmmr for building locator (#3397)
    • 599bf22cfc50dfb8650a92ba0deeed09e75ec57d Simplify api commits (#3423)
    • d1b90f89a0ffa150d8b32e39c99cd84ff033eaaf Update dockerfile with rust 1.45 and Debian Buster (#3426)
    • 110deff702a98e723233a268f746d7488a9d5e38 [Docs] Revision to intro page (#3281)
    • 9c517db3c3ff9aabbf21fa83525304196f1b2700 add test cases for C32 and C33 solutions (#3422)
    • 34adaf797e9cc73b38cc0e5abcfd1969e6e21eac orphan check needs to handle fast sync "edge case" (#3418)
    • 4732a0b62bfaed8066fecf8adc6641ce1e0792f7 convert tx for v2 compatibility on way into stempool/txpool (#3412)
    • 6a12155738ff29d3aad449f4cb456cb65978d32f Expose max_tx_weight API (#3407)
    • 880f9adcd38805e5d1a9fd26dddc2c074bf12904 use AsRef in cut_through for flexibility (#3411)
    • 04c8713d83901eb83288f341a3b10b61696b778f refactor apply_inputs and support converting block for v2 compatibility (#3409)
    • 70c637fe4f7cef7b59612dcb9d8da9af8eaab86a make cut_through significantly more useful by returning both cut-through and non-cut-through elements (#3410)
    • 83b269961a13216c822f558c723779f3bf4640f9 introduce Inputs enum variants for future commit only support (#3406)
    • b43666af80c852483ecf4e654c30ad1fc5ae21d0 cleanup inputs_mut, outputs_mut, kernels_mut fns (#3405)
    • 80841f16d245f90389bfa11e49d7fd59cc5f5570 pass slices around and not refs to vecs (#3404)
    • 105f50b26b4ff961a402f4d9e14ba303c50450ab cleanup unused macros and error (#3367)
    • ec3ea9c3ff064723b06115e3a8284c6006dcedbe pass ref to chain around (#3401)
    • 3c06672e9bc96eb8c9efafed9e13e43f15bba7a6 include height even for spent outputs in get_outputs api (#3400)
    • d78980c4c4174c96128075ebd1b7ac5cc8b1f88a P2P replace DNS panic with map_err (#3383)
    • 824c51a346be528431f0a9aa4fa2182ce55f0ae1 bump version to 4.1.0 on master (4.0.1 on 4.0.x branch) (#3390)
    • 84ad59c5be4be1417199117583851af50208c6a6 more robust handling of min_height and max_height in get_kernel_height() (#3387)
    • 32253194b5483aeb6e399d921135a7b27fc4c117 log reorg (and fork) depth correctly (#3376)

    This list of changes was auto generated.

    Source code(tar.gz)
    Source code(zip)
    grin-v4.1.0-linux-amd64-sha256sum.txt(125 bytes)
    grin-v4.1.0-linux-amd64.tar.gz(6.85 MB)
    grin-v4.1.0-macos-sha256sum.txt(122 bytes)
    grin-v4.1.0-macos.tar.gz(5.32 MB)
    grin-v4.1.0-win-x64-sha256sum.txt(290 bytes)
    grin-v4.1.0-win-x64.zip(4.77 MB)
  • v4.1.0-beta.1(Sep 15, 2020)

    Changes:

    • 95176a7f62be8c32cae3ab0ea27555e96c98236e bump new 4.1.0 branch to 4.1.0-beta.1 (#3442)
    • 06a09f25c4f625553053d93eab666827097fafd6 bump protocol version to 1000 to facilitate deprecation of earlier versions (#3434)
    • dfd0a649c783c2a5dee56ac2a5b539f4505a017d Organize doc files (#3436)
    • 3d07adb62186666e4e91bb78a828bb5907b5e102 Remove hashmap as disclosure contact (#3438)
    • 655e0809639e1ec0085179c0a5f7a77bf8c9fa49 maintain preferred peer connections (#3435)
    • 7dc94576bd448bdca9f4f85eae9a150317b07976 Introduce CommitOnly variant of Inputs (#3419)
    • 133089e9855686854c87d6fbe4d67df775918bee Refactor Output Identifiers (#3371)
    • caa6b8c747788e32953950a2dfd0a7c1e5d29cd2 further tweaks to block_accepted logs for clarity (#3379)
    • 1cff387f619cb5c90d00839d32e512e452794907 Use mmr sizes in header to validate header weight (#3395)
    • 78e3ec3df093a0a8d69b122f45ea26f53cc8a038 sync_all() on leaf_set and prune_list when using temp file (#3354)
    See More
    • 29cffe9b3cbfff6b57601d03db73dcde55985555 verify_cut_through and test coverage (#3424)
    • 6a012d7e5b1511eba4cd0ac33cfc528084e441cd Add TransactionPool fuzz driver (#3396)
    • a038687d202c1a802b4e6e638168bb7f61dc3e7a Fix #3380 Broken API Links (#3381)
    • efece9e0c7787a30192d1f21b0c6a71be8c24057 use sync pmmr for building locator (#3397)
    • 599bf22cfc50dfb8650a92ba0deeed09e75ec57d Simplify api commits (#3423)
    • d1b90f89a0ffa150d8b32e39c99cd84ff033eaaf Update dockerfile with rust 1.45 and Debian Buster (#3426)
    • 110deff702a98e723233a268f746d7488a9d5e38 [Docs] Revision to intro page (#3281)
    • 9c517db3c3ff9aabbf21fa83525304196f1b2700 add test cases for C32 and C33 solutions (#3422)
    • 34adaf797e9cc73b38cc0e5abcfd1969e6e21eac orphan check needs to handle fast sync "edge case" (#3418)
    • 4732a0b62bfaed8066fecf8adc6641ce1e0792f7 convert tx for v2 compatibility on way into stempool/txpool (#3412)
    • 6a12155738ff29d3aad449f4cb456cb65978d32f Expose max_tx_weight API (#3407)
    • 880f9adcd38805e5d1a9fd26dddc2c074bf12904 use AsRef in cut_through for flexibility (#3411)
    • 04c8713d83901eb83288f341a3b10b61696b778f refactor apply_inputs and support converting block for v2 compatibility (#3409)
    • 70c637fe4f7cef7b59612dcb9d8da9af8eaab86a make cut_through significantly more useful by returning both cut-through and non-cut-through elements (#3410)
    • 83b269961a13216c822f558c723779f3bf4640f9 introduce Inputs enum variants for future commit only support (#3406)
    • b43666af80c852483ecf4e654c30ad1fc5ae21d0 cleanup inputs_mut, outputs_mut, kernels_mut fns (#3405)
    • 80841f16d245f90389bfa11e49d7fd59cc5f5570 pass slices around and not refs to vecs (#3404)
    • 105f50b26b4ff961a402f4d9e14ba303c50450ab cleanup unused macros and error (#3367)
    • ec3ea9c3ff064723b06115e3a8284c6006dcedbe pass ref to chain around (#3401)
    • 3c06672e9bc96eb8c9efafed9e13e43f15bba7a6 include height even for spent outputs in get_outputs api (#3400)
    • d78980c4c4174c96128075ebd1b7ac5cc8b1f88a P2P replace DNS panic with map_err (#3383)
    • 824c51a346be528431f0a9aa4fa2182ce55f0ae1 bump version to 4.1.0 on master (4.0.1 on 4.0.x branch) (#3390)
    • 84ad59c5be4be1417199117583851af50208c6a6 more robust handling of min_height and max_height in get_kernel_height() (#3387)
    • 32253194b5483aeb6e399d921135a7b27fc4c117 log reorg (and fork) depth correctly (#3376)

    This list of changes was auto generated.

    Source code(tar.gz)
    Source code(zip)
    grin-v4.1.0-beta.1-linux-amd64-sha256sum.txt(132 bytes)
    grin-v4.1.0-beta.1-linux-amd64.tar.gz(6.85 MB)
    grin-v4.1.0-beta.1-macos-sha256sum.txt(129 bytes)
    grin-v4.1.0-beta.1-macos.tar.gz(5.32 MB)
    grin-v4.1.0-beta.1-win-x64-sha256sum.txt(304 bytes)
    grin-v4.1.0-beta.1-win-x64.zip(4.76 MB)
  • v4.0.1(Jul 13, 2020)

    Changes:

    • c0ff4b9a bump to 4.0.1 (#3391)
    • f09a35d more robust handling of min_height and max_height in get_kernel_height() (#3387) (#3389)
    • 30db9c4 bump master to 4.0.1-alpha.1 to differentiate from 4.0.0 official tagged build (#3374)

    This list of changes was auto generated.

    Source code(tar.gz)
    Source code(zip)
    grin-v4.0.1-linux-amd64-sha256sum.txt(125 bytes)
    grin-v4.0.1-linux-amd64.tar.gz(6.91 MB)
    grin-v4.0.1-macos-sha256sum.txt(122 bytes)
    grin-v4.0.1-macos.tar.gz(5.33 MB)
    grin-v4.0.1-win-x64-sha256sum.txt(290 bytes)
    grin-v4.0.1-win-x64.zip(4.72 MB)
  • v4.0.0(Jul 2, 2020)

    Changes:

    • 7abe9fcb392162edf563156d6e6827cce31867a1 Versioning for 4.0.0 release (#3373)
    • 098d25e5696d1d97e4fbfabb80f27063caccd0f3 Version bump for 4.0.0-rc.1 (#3366)
    • 238522a9fba86ca7677b26a9bc8951648f72bf01 add CuckooParams::node_mask, obsolete EdgeType and sipnode shift arg (#3365)
    • 39ca5d1c1101a01213f17abb5163bd6cc51f0ced Store: error handling for file errors (#3364)
    • 20b45006254a33aa809d1dfeee85e80b08791781 make sure header PMMR is init correctly based on header_head from db (#3362)
    • d3598e25eb46dc2ee3f03ca78a72c17323f273a5 credit where credit is due (#3356)
    • 55a929e214bd02aa564c694665148c223d6435f5 cleanup old unused code (#3355)
    • dd88d28a7a22b509f01e20685fdf9a485ca82160 bump version to 4.0.0-beta.2 (#3351)
    • 0cb1a352d34a38afa5d1c4761ff92513c922d620 Remove wallet from CLI (#3347)
    • 2fe21c5cebd55d91f579ffd171a65a01fe05575a Cargo update (#3350)
    See More
    • ce141bee29b227f0cf4f7fa228027163eb10ded1 chain stats should use head.hash() (#3348)
    • 2223d9f7d741cfde7985ac67b50f893dd5982571 migrate to V2 Cargo.lock format (#3346)
    • 6757a3040d15a92e858ac2e2365a2813e3b6ee14 this test was jamming up in azure CI (#3349)
    • e7f04240fbc30e4b268435be0074d5de32809ffe Fix compiler warnig (#3345)
    • 20e5c1910bcc1afa317a7847b398488ac08b0ca7 NRD rules and "recent" kernel pos index (#3302)
    • b98e5e06a6b836dfa3992803e8cdefacee75e1f7 fix race condition (#3344)
    • 093c500fed62e6a9973fcce78f88ac52e3758efa Cargo Update (#3338)
    • e28e02ecd40dadf70caae78e18bc2ca9adba2169 simplify by avoiding unnecessary conversions (#3343)
    • 992d450e0a9faa73adbb06bafc5871ca7d25d5e5 servers, util: fix deadlock caused by conflicting lock order (#3340)
    • c54568e69f5d0343699015af96fd8502eab32688 Rework pool tests to use real chain (was mock chain) (#3342)
    • c7c9a32b9b85b9e7dce3b254600972dcc6d7f683 4.0.0-beta.1 Version Bump (#3339)
    • f4295917a00a9495bb0952877cd3869c15cecb99 header version 4 accompanied by new AR PoW (#3334)
    • 450d235358bb14016c1c8e26d036526e6bf3af36 servers: fix possible deadlock (#3337)
    • e7d2c71ca6c90695ecc5f1e9dc1cd3eab6050718 display chain type on tui title bar (#3336)
    • 5b825fbf0ddb7ccc6c2fcd49c1ec585fc0583331 check_known now takes total_difficulty into consideration (#3298)
    • 988a05f023ab9da8b8b06ad589af319a54b19707 Enable NRD kernel support (noop) feature flagged (#3303)
    • 731528c61632a04ec4f3cba99885650e810dba4c Some optimizsations in TUI (#3325)
    • a8b8dc3a7f5193f128b49e9761219ae16b310ece add test to demonstrate pair of "half" kernels sharing same public excess (#3314)
    • b570ac9925f908223cfb3c9ee1b2f7257d3a647e ignore .vscode (#3333)
    • 26b411e79e3a959f97ff3e2fa4ad37f3dbf333a3 Reduce memory allocations in PMMR (#3328)
    • 6faa0e8d75be42280f3954eebedb1676cd40bb6b thread local chain type vs global chain type (#3327)
    • 096b6924ce4a91a005591040eb3c13d1ff2c8b0b Adding kernel_mmr_size and output_mmr_size to BlockHeaderPrintable (#3329)
    • d2d3e4c547f7ae84180e6c62f622d60047304621 Remove compiler warning (#3331)
    • 5d0791bbd17d755573f5ec1749b6d720b5d07c07 Add servers (#3315)
    • 952bdcc4c8b3d762fc36e5e86cb1833cd420b427 Fixing doc (#3330)
    • 28644a63cf37c906958bc720db7be58d83fd683d Fix miminum share difficulty in Stratum Server (#3323)
    • 93f5de3d2957f6f30dde8ae8f588efa0754c5ca3 Introduce a pause after calling Cursive.step (#3326)
    • 133a8da53e425b14498472b81772067bfb2859c8 Refactor bucket_transactions() and evict_transaction() (#3319)
    • 2c621115612013a68de7bd973a42ec88ae5f44fc Remove some unwraps in LMDB client (#3313)
    • e826cd82f9eb539905a7e053c214010b604f8d2b Update (#3324)
    • 2397407dc4d7e196c6edc6436e9545149ccb1a21 Always return a typed structure from lmdb store (#3312)
    • c82199bb974375a63203d8226f5a01b973d084e5 cleanup weird egde_bits handling in tests (#3316)
    • 8a22fb516a29c274da2bc5984a621a8f2bd70125 Reduce number of allocations in to_key calls (#3311)
    • a82041d0edd4e2e0e4c9ff6e43a9e041a1c4c2ce Refactor Readable trait (#3309)
    • 9e51e865382710ccb283e9f88d157b7cd08774f9 Use generic types instead of trait objects in tx pool (#3308)
    • 061bf3d08f548971c2c4f53d21453497edf17b8e Add depreciation warning (#3310)
    • be4779c92343599ff336f568e99f4f5358efeb1f Less cloning and pattern simplifications (#3305)
    • 6556dd585d8defc301a3f59a833e5e761ce0c48a Pass byte slice to to_hex (#3307)
    • d8c6eef4855cdba60e241ea7caf497c7185ea9f4 Refactor SyncState (#3297)
    • e64e90623b1095d9e24213a96f3b4c47e766dc08 Reduce number of allocations in Headers message read (#3301)
    • 0da88f70465869d6a9950e6f8515b703e67ef03d Don't swallow errors in body_sync (#3300)
    • 4024ee3839446b1bbb0a3475c448e74cc17044af Update Cursive to 0.14 and update backend. (#3291)
    • cf128eb220b004f98e501721872ce00a4ffdb0e4 Fix rare panic in TUI (#3294)
    • e76dda66761a8e6200a75b6ff372f3071f74092c Use latest hosted agent for CI (#3278)
    • d7e6ac6cfe8b4618b9b7c4cead8032ef548e6e59 Update seed.rs (#3282)
    • b2609b721487514a60e10652d5a4893d08b90af8 Update rust-secp256k1 to v0.7.9 (#3293)
    • bab9f41343cc5ad5d7dc2c7f6128d5167685e182 go back to storing header_head in the db (#3268)
    • 34ff103bb02bc093fe73d36641eb193f7ef2404f Update link to podcast featuring tromp (#3283)
    • e49eecae5c02ca0e72972474d3b9f43dc07e750a Cleanup path handling with AsRef (#3284)
    • 7385e8ce7f0d73a6d7961e11c54a611d3bdc973d Update API docs (#3277)
    • d0363320281dedcc967474368be20fbb9b9e76a3 Include new libsecp256k1 version (#3279)
    • 2fe08693217c045f1e76050a27ba5eb33ac9ab92 Use croaring-mw with 'compat' feature (#3274)
    • 6bdf31f23d98888d16bb81d16c34b5386bd72b01 Remove unused code in message handling (#3269)
    • 3bbf60ee92d789fc0a7e5b6f14db8131887ea92f simplify when block_sums and spent_index are added to the db (#3253)
    • 8ca381a9c2be3c2d332d41e33f973928d23b8113 cleanup util::from_hex() (#3265)
    • ee5fe1ac63c1b383350ded855db2f44c5ce0f555 Use smaller LMDB Allocation Size in non-production modes (#3264)
    • 31bd2d923a0206e72b36243eeff7cb0ed75bd50d Add better LMDB error output (#3263)
    • d5b523248b805821d4bcf63313e4a2fb6f52ab47 API: don't error on missing output (#3256)
    • 5f5b1d2f135ab375d42c2efaf2477d8e180ae439 no need to rehash with index to compare output with input spending it (#3260)
    • 2527006e8dad8bf440de8cd5c944cb836c1e8c14 keep output and rangeproof mmrs together (#3254)
    • b73fc0bb9b8d5fa228b6bbc7e86567c83d017643 Version bump for next development release

    This list of changes was auto generated.

    Source code(tar.gz)
    Source code(zip)
    grin-v4.0.0-linux-amd64-sha256sum.txt(125 bytes)
    grin-v4.0.0-linux-amd64.tar.gz(6.91 MB)
    grin-v4.0.0-macos-sha256sum.txt(122 bytes)
    grin-v4.0.0-macos.tar.gz(5.33 MB)
    grin-v4.0.0-win-x64-sha256sum.txt(290 bytes)
    grin-v4.0.0-win-x64.zip(4.72 MB)
  • v4.0.0-rc.1(Jun 26, 2020)

    Changes:

    • 098d25e5696d1d97e4fbfabb80f27063caccd0f3 Version bump for 4.0.0-rc.1 (#3366)
    • 238522a9fba86ca7677b26a9bc8951648f72bf01 add CuckooParams::node_mask, obsolete EdgeType and sipnode shift arg (#3365)
    • 39ca5d1c1101a01213f17abb5163bd6cc51f0ced Store: error handling for file errors (#3364)
    • 20b45006254a33aa809d1dfeee85e80b08791781 make sure header PMMR is init correctly based on header_head from db (#3362)
    • d3598e25eb46dc2ee3f03ca78a72c17323f273a5 credit where credit is due (#3356)
    • 55a929e214bd02aa564c694665148c223d6435f5 cleanup old unused code (#3355)
    • dd88d28a7a22b509f01e20685fdf9a485ca82160 bump version to 4.0.0-beta.2 (#3351)
    • 0cb1a352d34a38afa5d1c4761ff92513c922d620 Remove wallet from CLI (#3347)
    • 2fe21c5cebd55d91f579ffd171a65a01fe05575a Cargo update (#3350)
    • ce141bee29b227f0cf4f7fa228027163eb10ded1 chain stats should use head.hash() (#3348)
    See More
    • 2223d9f7d741cfde7985ac67b50f893dd5982571 migrate to V2 Cargo.lock format (#3346)
    • 6757a3040d15a92e858ac2e2365a2813e3b6ee14 this test was jamming up in azure CI (#3349)
    • e7f04240fbc30e4b268435be0074d5de32809ffe Fix compiler warnig (#3345)
    • 20e5c1910bcc1afa317a7847b398488ac08b0ca7 NRD rules and "recent" kernel pos index (#3302)
    • b98e5e06a6b836dfa3992803e8cdefacee75e1f7 fix race condition (#3344)
    • 093c500fed62e6a9973fcce78f88ac52e3758efa Cargo Update (#3338)
    • e28e02ecd40dadf70caae78e18bc2ca9adba2169 simplify by avoiding unnecessary conversions (#3343)
    • 992d450e0a9faa73adbb06bafc5871ca7d25d5e5 servers, util: fix deadlock caused by conflicting lock order (#3340)
    • c54568e69f5d0343699015af96fd8502eab32688 Rework pool tests to use real chain (was mock chain) (#3342)
    • c7c9a32b9b85b9e7dce3b254600972dcc6d7f683 4.0.0-beta.1 Version Bump (#3339)
    • f4295917a00a9495bb0952877cd3869c15cecb99 header version 4 accompanied by new AR PoW (#3334)
    • 450d235358bb14016c1c8e26d036526e6bf3af36 servers: fix possible deadlock (#3337)
    • e7d2c71ca6c90695ecc5f1e9dc1cd3eab6050718 display chain type on tui title bar (#3336)
    • 5b825fbf0ddb7ccc6c2fcd49c1ec585fc0583331 check_known now takes total_difficulty into consideration (#3298)
    • 988a05f023ab9da8b8b06ad589af319a54b19707 Enable NRD kernel support (noop) feature flagged (#3303)
    • 731528c61632a04ec4f3cba99885650e810dba4c Some optimizsations in TUI (#3325)
    • a8b8dc3a7f5193f128b49e9761219ae16b310ece add test to demonstrate pair of "half" kernels sharing same public excess (#3314)
    • b570ac9925f908223cfb3c9ee1b2f7257d3a647e ignore .vscode (#3333)
    • 26b411e79e3a959f97ff3e2fa4ad37f3dbf333a3 Reduce memory allocations in PMMR (#3328)
    • 6faa0e8d75be42280f3954eebedb1676cd40bb6b thread local chain type vs global chain type (#3327)
    • 096b6924ce4a91a005591040eb3c13d1ff2c8b0b Adding kernel_mmr_size and output_mmr_size to BlockHeaderPrintable (#3329)
    • d2d3e4c547f7ae84180e6c62f622d60047304621 Remove compiler warning (#3331)
    • 5d0791bbd17d755573f5ec1749b6d720b5d07c07 Add servers (#3315)
    • 952bdcc4c8b3d762fc36e5e86cb1833cd420b427 Fixing doc (#3330)
    • 28644a63cf37c906958bc720db7be58d83fd683d Fix miminum share difficulty in Stratum Server (#3323)
    • 93f5de3d2957f6f30dde8ae8f588efa0754c5ca3 Introduce a pause after calling Cursive.step (#3326)
    • 133a8da53e425b14498472b81772067bfb2859c8 Refactor bucket_transactions() and evict_transaction() (#3319)
    • 2c621115612013a68de7bd973a42ec88ae5f44fc Remove some unwraps in LMDB client (#3313)
    • e826cd82f9eb539905a7e053c214010b604f8d2b Update (#3324)
    • 2397407dc4d7e196c6edc6436e9545149ccb1a21 Always return a typed structure from lmdb store (#3312)
    • c82199bb974375a63203d8226f5a01b973d084e5 cleanup weird egde_bits handling in tests (#3316)
    • 8a22fb516a29c274da2bc5984a621a8f2bd70125 Reduce number of allocations in to_key calls (#3311)
    • a82041d0edd4e2e0e4c9ff6e43a9e041a1c4c2ce Refactor Readable trait (#3309)
    • 9e51e865382710ccb283e9f88d157b7cd08774f9 Use generic types instead of trait objects in tx pool (#3308)
    • 061bf3d08f548971c2c4f53d21453497edf17b8e Add depreciation warning (#3310)
    • be4779c92343599ff336f568e99f4f5358efeb1f Less cloning and pattern simplifications (#3305)
    • 6556dd585d8defc301a3f59a833e5e761ce0c48a Pass byte slice to to_hex (#3307)
    • d8c6eef4855cdba60e241ea7caf497c7185ea9f4 Refactor SyncState (#3297)
    • e64e90623b1095d9e24213a96f3b4c47e766dc08 Reduce number of allocations in Headers message read (#3301)
    • 0da88f70465869d6a9950e6f8515b703e67ef03d Don't swallow errors in body_sync (#3300)
    • 4024ee3839446b1bbb0a3475c448e74cc17044af Update Cursive to 0.14 and update backend. (#3291)
    • cf128eb220b004f98e501721872ce00a4ffdb0e4 Fix rare panic in TUI (#3294)
    • e76dda66761a8e6200a75b6ff372f3071f74092c Use latest hosted agent for CI (#3278)
    • d7e6ac6cfe8b4618b9b7c4cead8032ef548e6e59 Update seed.rs (#3282)
    • b2609b721487514a60e10652d5a4893d08b90af8 Update rust-secp256k1 to v0.7.9 (#3293)
    • bab9f41343cc5ad5d7dc2c7f6128d5167685e182 go back to storing header_head in the db (#3268)
    • 34ff103bb02bc093fe73d36641eb193f7ef2404f Update link to podcast featuring tromp (#3283)
    • e49eecae5c02ca0e72972474d3b9f43dc07e750a Cleanup path handling with AsRef (#3284)
    • 7385e8ce7f0d73a6d7961e11c54a611d3bdc973d Update API docs (#3277)
    • d0363320281dedcc967474368be20fbb9b9e76a3 Include new libsecp256k1 version (#3279)
    • 2fe08693217c045f1e76050a27ba5eb33ac9ab92 Use croaring-mw with 'compat' feature (#3274)
    • 6bdf31f23d98888d16bb81d16c34b5386bd72b01 Remove unused code in message handling (#3269)
    • 3bbf60ee92d789fc0a7e5b6f14db8131887ea92f simplify when block_sums and spent_index are added to the db (#3253)
    • 8ca381a9c2be3c2d332d41e33f973928d23b8113 cleanup util::from_hex() (#3265)
    • ee5fe1ac63c1b383350ded855db2f44c5ce0f555 Use smaller LMDB Allocation Size in non-production modes (#3264)
    • 31bd2d923a0206e72b36243eeff7cb0ed75bd50d Add better LMDB error output (#3263)
    • d5b523248b805821d4bcf63313e4a2fb6f52ab47 API: don't error on missing output (#3256)
    • 5f5b1d2f135ab375d42c2efaf2477d8e180ae439 no need to rehash with index to compare output with input spending it (#3260)
    • 2527006e8dad8bf440de8cd5c944cb836c1e8c14 keep output and rangeproof mmrs together (#3254)
    • b73fc0bb9b8d5fa228b6bbc7e86567c83d017643 Version bump for next development release

    This list of changes was auto generated.

    Source code(tar.gz)
    Source code(zip)
    grin-v4.0.0-rc.1-linux-amd64-sha256sum.txt(130 bytes)
    grin-v4.0.0-rc.1-linux-amd64.tar.gz(6.91 MB)
    grin-v4.0.0-rc.1-macos-sha256sum.txt(143 bytes)
    grin-v4.0.0-rc.1-macos.tar.gz(5.33 MB)
    grin-v4.0.0-rc.1-win-x64-sha256sum.txt(300 bytes)
    grin-v4.0.0-rc.1-win-x64.zip(4.72 MB)
  • v4.0.0-beta.2(Jun 12, 2020)

    Full Changelog

    Implemented enhancements:

    Fixed bugs:

    Merged pull requests:

    * This Changelog was automatically generated by github_changelog_generator

    Source code(tar.gz)
    Source code(zip)
    grin-v4.0.0-beta.2-linux-amd64-sha256sum.txt(132 bytes)
    grin-v4.0.0-beta.2-linux-amd64.tar.gz(6.90 MB)
    grin-v4.0.0-beta.2-macos-sha256sum.txt(145 bytes)
    grin-v4.0.0-beta.2-macos.tar.gz(5.37 MB)
    grin-v4.0.0-beta.2-win-x64-sha256sum.txt(304 bytes)
    grin-v4.0.0-beta.2-win-x64.zip(4.72 MB)
  • v4.0.0-beta.1(Jun 4, 2020)

    Changes:

    • c7c9a32b9b85b9e7dce3b254600972dcc6d7f683 4.0.0-beta.1 Version Bump (#3339)
    • f4295917a00a9495bb0952877cd3869c15cecb99 header version 4 accompanied by new AR PoW (#3334)
    • 450d235358bb14016c1c8e26d036526e6bf3af36 servers: fix possible deadlock (#3337)
    • e7d2c71ca6c90695ecc5f1e9dc1cd3eab6050718 display chain type on tui title bar (#3336)
    • 5b825fbf0ddb7ccc6c2fcd49c1ec585fc0583331 check_known now takes total_difficulty into consideration (#3298)
    • 988a05f023ab9da8b8b06ad589af319a54b19707 Enable NRD kernel support (noop) feature flagged (#3303)
    • 731528c61632a04ec4f3cba99885650e810dba4c Some optimizsations in TUI (#3325)
    • a8b8dc3a7f5193f128b49e9761219ae16b310ece add test to demonstrate pair of "half" kernels sharing same public excess (#3314)
    • b570ac9925f908223cfb3c9ee1b2f7257d3a647e ignore .vscode (#3333)
    • 26b411e79e3a959f97ff3e2fa4ad37f3dbf333a3 Reduce memory allocations in PMMR (#3328)
    See More
    • 6faa0e8d75be42280f3954eebedb1676cd40bb6b thread local chain type vs global chain type (#3327)
    • 096b6924ce4a91a005591040eb3c13d1ff2c8b0b Adding kernel_mmr_size and output_mmr_size to BlockHeaderPrintable (#3329)
    • d2d3e4c547f7ae84180e6c62f622d60047304621 Remove compiler warning (#3331)
    • 5d0791bbd17d755573f5ec1749b6d720b5d07c07 Add servers (#3315)
    • 952bdcc4c8b3d762fc36e5e86cb1833cd420b427 Fixing doc (#3330)
    • 28644a63cf37c906958bc720db7be58d83fd683d Fix miminum share difficulty in Stratum Server (#3323)
    • 93f5de3d2957f6f30dde8ae8f588efa0754c5ca3 Introduce a pause after calling Cursive.step (#3326)
    • 133a8da53e425b14498472b81772067bfb2859c8 Refactor bucket_transactions() and evict_transaction() (#3319)
    • 2c621115612013a68de7bd973a42ec88ae5f44fc Remove some unwraps in LMDB client (#3313)
    • e826cd82f9eb539905a7e053c214010b604f8d2b Update (#3324)
    • 2397407dc4d7e196c6edc6436e9545149ccb1a21 Always return a typed structure from lmdb store (#3312)
    • c82199bb974375a63203d8226f5a01b973d084e5 cleanup weird egde_bits handling in tests (#3316)
    • 8a22fb516a29c274da2bc5984a621a8f2bd70125 Reduce number of allocations in to_key calls (#3311)
    • a82041d0edd4e2e0e4c9ff6e43a9e041a1c4c2ce Refactor Readable trait (#3309)
    • 9e51e865382710ccb283e9f88d157b7cd08774f9 Use generic types instead of trait objects in tx pool (#3308)
    • 061bf3d08f548971c2c4f53d21453497edf17b8e Add depreciation warning (#3310)
    • be4779c92343599ff336f568e99f4f5358efeb1f Less cloning and pattern simplifications (#3305)
    • 6556dd585d8defc301a3f59a833e5e761ce0c48a Pass byte slice to to_hex (#3307)
    • d8c6eef4855cdba60e241ea7caf497c7185ea9f4 Refactor SyncState (#3297)
    • e64e90623b1095d9e24213a96f3b4c47e766dc08 Reduce number of allocations in Headers message read (#3301)
    • 0da88f70465869d6a9950e6f8515b703e67ef03d Don't swallow errors in body_sync (#3300)
    • 4024ee3839446b1bbb0a3475c448e74cc17044af Update Cursive to 0.14 and update backend. (#3291)
    • cf128eb220b004f98e501721872ce00a4ffdb0e4 Fix rare panic in TUI (#3294)
    • e76dda66761a8e6200a75b6ff372f3071f74092c Use latest hosted agent for CI (#3278)
    • d7e6ac6cfe8b4618b9b7c4cead8032ef548e6e59 Update seed.rs (#3282)
    • b2609b721487514a60e10652d5a4893d08b90af8 Update rust-secp256k1 to v0.7.9 (#3293)
    • bab9f41343cc5ad5d7dc2c7f6128d5167685e182 go back to storing header_head in the db (#3268)
    • 34ff103bb02bc093fe73d36641eb193f7ef2404f Update link to podcast featuring tromp (#3283)
    • e49eecae5c02ca0e72972474d3b9f43dc07e750a Cleanup path handling with AsRef (#3284)
    • 7385e8ce7f0d73a6d7961e11c54a611d3bdc973d Update API docs (#3277)
    • d0363320281dedcc967474368be20fbb9b9e76a3 Include new libsecp256k1 version (#3279)
    • 2fe08693217c045f1e76050a27ba5eb33ac9ab92 Use croaring-mw with 'compat' feature (#3274)
    • 6bdf31f23d98888d16bb81d16c34b5386bd72b01 Remove unused code in message handling (#3269)
    • 3bbf60ee92d789fc0a7e5b6f14db8131887ea92f simplify when block_sums and spent_index are added to the db (#3253)
    • 8ca381a9c2be3c2d332d41e33f973928d23b8113 cleanup util::from_hex() (#3265)
    • ee5fe1ac63c1b383350ded855db2f44c5ce0f555 Use smaller LMDB Allocation Size in non-production modes (#3264)
    • 31bd2d923a0206e72b36243eeff7cb0ed75bd50d Add better LMDB error output (#3263)
    • d5b523248b805821d4bcf63313e4a2fb6f52ab47 API: don't error on missing output (#3256)
    • 5f5b1d2f135ab375d42c2efaf2477d8e180ae439 no need to rehash with index to compare output with input spending it (#3260)
    • 2527006e8dad8bf440de8cd5c944cb836c1e8c14 keep output and rangeproof mmrs together (#3254)
    • b73fc0bb9b8d5fa228b6bbc7e86567c83d017643 Version bump for next development release

    This list of changes was auto generated.

    Source code(tar.gz)
    Source code(zip)
    grin-v4.0.0-beta.1-linux-amd64-sha256sum.txt(132 bytes)
    grin-v4.0.0-beta.1-linux-amd64.tar.gz(6.67 MB)
    grin-v4.0.0-beta.1-macos-sha256sum.txt(145 bytes)
    grin-v4.0.0-beta.1-macos.tar.gz(5.19 MB)
    grin-v4.0.0-beta.1-win-x64-sha256sum.txt(304 bytes)
    grin-v4.0.0-beta.1-win-x64.zip(4.63 MB)
  • v3.1.0(Mar 2, 2020)

    Changes:

    • 533da2d192e0502c8b8251619176f1dd4a57a796 version bump for 3.1.0 release (#3258)
    • ef755a5c49cc02932655cd9741a46e12aba1d89c bump to 3.1.0-beta.3 (#3252)
    • bcf0e0b4eb2ea55ae7d4af375dea3ca33eb00c34 we need to be lenient when deleting entries from the output_pos index (may be missing) (#3251)
    • 5071084445908060445dacfad4573c3c631c738a bump version to 3.1.0-beta.2 (#3244)
    • f2380585a764df1311307376b9317fa4d1eeaa9f explicit read_timeout and write_timeout during hand/shake (#3249)
    • 5cb0aac55ec0a326966f568ca9ac6d0c10231429 only apply full rewind to bitmap, not per block (#3246)
    • 8a15007c8a85b701957120c20a91500ed44c6e35 ignore error from set_read_timeout (#3243)
    • 6855241a56305a3b1822de974d40a649c7a5337b handle mpsc channel disconnect from peer_write thread (#3241)
    • 6bdeefd27ec34e570fd95924178cf728f00baf5d Fix warnings (#3240)
    • bcf3e4e4e4b5e7a37870038efc40b95050727a0a [Docs] Rangeproof output documentation (#3234)
    See More
    • 3790b2cba5042c5b6b8d30c7a5bc61ccb77af6d7 cleanup unused import (#3238)
    • cb2b909090f76ad1f1783d2d15d4be1f82a0cebc Block input bitmap rework (#3236)
    • ef853ae469f994241574e42b6fe77ef58e4e1de2 Update croaring (#3233)
    • 6bca34c6a81ef487e96fe59a60bb1631039c318f Update hyper/tokio/futures dependencies (#3214)
    • 2d4a2c30ce5f5ba94d1385204bb363dd8ca0e184 Cleanup output pos idx (#3227)
    • 3c040b96e1e1a46b4aa0068cbd33ae87d9182aa3 account for the utxo rewind when attempting to fix a bad chain init (#3229)
    • 0d2e58e90e0330306240f5d6bf2e17d802120f20 feat: allow DNS names in peers/seeds list and resolve them (#3125)
    • 053415ddf83a2b0f1d07f34458b1cde5e3e2b781 Convert ipv4-mapped ipv6 when accepting peer (#3225)
    • b400a4b1cf6f9ff44a3632d0d56e29d9c9ae64d9 Attempt to read ipv4-mapped ipv6 to ipv4 if possible (#3221)
    • 65e4f7efe059653c0fcd02e9bed8a92b52cf8a96 brew uninstall llvm in macos vm for azure pipelines (#3232)
    • 4c081b8f7361f8834f95ec751e446b5d957d7508 use backend file when compacting the output pos index (#3226)
    • 04a012375208da72cdda448233640205858a529a Less cloning and additional pattern simplifications (#3223)
    • c4e69717ab9ef750a73a96421b8be681473b3e5e Less cloning and pattern simplifications (#3216)
    • a41965e024a63e1dcf9b7adb3bab0d36df866893 Update intro.md (#2975)
    • 6c528654dfd2325b7e7a8bdd30bc1ba59b0a4cc2 Update build.md to remove min version of Rust (#3219)
    • ba129b242ced03cdd4d4ad3c896a471c0f3f3b5a CI: Remove Rust installation for macOS (#3220)
    • ee25d0dfc91855d8d32a9480d336505034e56c6f Pass SwitchCommitment by value instead of reference (#3217)
    • 5c959bc733e0988d684471322171fbf61a3a9fa7 Replace Gitter by Keybase in README.MD (#3215)
    • 5e1fe44bedee3a48e3d0573a8ce5e4fd8f4e97c1 remove writeable impl [u8; 4] (#3132)
    • b01ab44475ea5cb2d3ba2d81f4a0b0dfb7397b13 Resolve JSON RPC 2.0 non-compliance (#3213)
    • dcdbdd4bcc1baf5a0125ddd4f0b5221bbbd2f42e Some simple Option / Result / iterator pattern simplifications (#3205)
    • 616dad43fd3f3e6c8f079ee383a159ba99fc83bc Cleanup redundant AsFixedBytes and FixedLength traits (#3131)
    • 83a26499464e31137f3c621bb6e9b6a4cc62905e Revert "Resolve JSON RPC 2.0 non-compliance (#3209)" (#3212)
    • 15278021dc911365c9eec047085687fd55d350df Resolve JSON RPC 2.0 non-compliance (#3209)
    • fb888a32d6a403918e444e4bd603472348bfa666 Remove unused crate (#3211)
    • 9ec9d04457f44fd36260c42d39bcd18eea60a18b Refactor to pass batch around explicitly (#3176)
    • 2f1e8299b1e3c26298e28b8bc5c61162f4bacff6 cleanup unused hash_with impl (#3207)
    • a1b6c31481f39f79c2c6b0d887d2e7b98508698b tests: split consensus tests into separate files for each chain type … (#3168)
    • 4152d9fc0cca9cb129994e3bd8967c7613e306af Build block header from pre pow data and proof (#3178)
    • 4449c91c043cad20b71389768d586b466fa8dbb9 Fix return code in peers API (#3186)
    • c15aedf190f31fade48de40b6c1ddb4ed10e0303 Bug fix for highest_index in output API. (#3200)
    • da3b3b23c687504ebee2fb30d8bf73e610d81103 Fixed issues with fuzz in core. (#3193)
    • 6e5afe496b201a1a5df4f42c62cd5fe1bdc24c6b Update License to 2020 (#3196)
    • d1b3f939b072b02ac4d28118d84a76a8e09f6ec9 Remove old website for grin.mw (#3195)
    • 8568c77d6eeb120492406b31af6d11dcefc5a25d explicit str, rustc 1.34.0 doesn't seem to pick this up otherwise (#3191)
    • c2026bd686c9f515d377e91370482f8e3dc388d0 Remove unused crates (#3185)
    • 0ad2513bb6ff84470c8d05dc24e2c37673729ab0 Removed binary blob: localhost+1.p12. (#3189)
    • a73a54a10e1de9d3a2e1bf3db3daf6946b6f225d [Done][doc] Chinese Translation (#3122)
    • 81a2bbd5e8edb90d13afd22e1aab3aece6fbeebe TUI peer sort order (#3184)
    • d31427f694d3627dff7b068870c47bff1ca5e3d6 Fix compiler warning 'unnecessary parentheses around type' (#3175)
    • 2bf4080866da89cddb86032e1b7ffa01af503192 versioning for master
    • 266af4e91f6bf959cd600758ff8883c218a63aab version bump for master

    This list of changes was auto generated.

    Source code(tar.gz)
    Source code(zip)
    grin-v3.1.0-linux-amd64-sha256sum.txt(125 bytes)
    grin-v3.1.0-linux-amd64.tar.gz(6.86 MB)
    grin-v3.1.0-macos-sha256sum.txt(138 bytes)
    grin-v3.1.0-macos.tar.gz(5.28 MB)
    grin-v3.1.0-win-x64-sha256sum.txt(290 bytes)
    grin-v3.1.0-win-x64.zip(4.67 MB)
  • v3.1.0-beta.3(Feb 28, 2020)

    Changes:

    • ef755a5c49cc02932655cd9741a46e12aba1d89c bump to 3.1.0-beta.3 (#3252)
    • bcf0e0b4eb2ea55ae7d4af375dea3ca33eb00c34 we need to be lenient when deleting entries from the output_pos index (may be missing) (#3251)
    • 5071084445908060445dacfad4573c3c631c738a bump version to 3.1.0-beta.2 (#3244)
    • f2380585a764df1311307376b9317fa4d1eeaa9f explicit read_timeout and write_timeout during hand/shake (#3249)
    • 5cb0aac55ec0a326966f568ca9ac6d0c10231429 only apply full rewind to bitmap, not per block (#3246)
    • 8a15007c8a85b701957120c20a91500ed44c6e35 ignore error from set_read_timeout (#3243)
    • 6855241a56305a3b1822de974d40a649c7a5337b handle mpsc channel disconnect from peer_write thread (#3241)
    • 6bdeefd27ec34e570fd95924178cf728f00baf5d Fix warnings (#3240)
    • bcf3e4e4e4b5e7a37870038efc40b95050727a0a [Docs] Rangeproof output documentation (#3234)
    • 3790b2cba5042c5b6b8d30c7a5bc61ccb77af6d7 cleanup unused import (#3238)
    See More
    • cb2b909090f76ad1f1783d2d15d4be1f82a0cebc Block input bitmap rework (#3236)
    • ef853ae469f994241574e42b6fe77ef58e4e1de2 Update croaring (#3233)
    • 6bca34c6a81ef487e96fe59a60bb1631039c318f Update hyper/tokio/futures dependencies (#3214)
    • 2d4a2c30ce5f5ba94d1385204bb363dd8ca0e184 Cleanup output pos idx (#3227)
    • 3c040b96e1e1a46b4aa0068cbd33ae87d9182aa3 account for the utxo rewind when attempting to fix a bad chain init (#3229)
    • 0d2e58e90e0330306240f5d6bf2e17d802120f20 feat: allow DNS names in peers/seeds list and resolve them (#3125)
    • 053415ddf83a2b0f1d07f34458b1cde5e3e2b781 Convert ipv4-mapped ipv6 when accepting peer (#3225)
    • b400a4b1cf6f9ff44a3632d0d56e29d9c9ae64d9 Attempt to read ipv4-mapped ipv6 to ipv4 if possible (#3221)
    • 65e4f7efe059653c0fcd02e9bed8a92b52cf8a96 brew uninstall llvm in macos vm for azure pipelines (#3232)
    • 4c081b8f7361f8834f95ec751e446b5d957d7508 use backend file when compacting the output pos index (#3226)
    • 04a012375208da72cdda448233640205858a529a Less cloning and additional pattern simplifications (#3223)
    • c4e69717ab9ef750a73a96421b8be681473b3e5e Less cloning and pattern simplifications (#3216)
    • a41965e024a63e1dcf9b7adb3bab0d36df866893 Update intro.md (#2975)
    • 6c528654dfd2325b7e7a8bdd30bc1ba59b0a4cc2 Update build.md to remove min version of Rust (#3219)
    • ba129b242ced03cdd4d4ad3c896a471c0f3f3b5a CI: Remove Rust installation for macOS (#3220)
    • ee25d0dfc91855d8d32a9480d336505034e56c6f Pass SwitchCommitment by value instead of reference (#3217)
    • 5c959bc733e0988d684471322171fbf61a3a9fa7 Replace Gitter by Keybase in README.MD (#3215)
    • 5e1fe44bedee3a48e3d0573a8ce5e4fd8f4e97c1 remove writeable impl [u8; 4] (#3132)
    • b01ab44475ea5cb2d3ba2d81f4a0b0dfb7397b13 Resolve JSON RPC 2.0 non-compliance (#3213)
    • dcdbdd4bcc1baf5a0125ddd4f0b5221bbbd2f42e Some simple Option / Result / iterator pattern simplifications (#3205)
    • 616dad43fd3f3e6c8f079ee383a159ba99fc83bc Cleanup redundant AsFixedBytes and FixedLength traits (#3131)
    • 83a26499464e31137f3c621bb6e9b6a4cc62905e Revert "Resolve JSON RPC 2.0 non-compliance (#3209)" (#3212)
    • 15278021dc911365c9eec047085687fd55d350df Resolve JSON RPC 2.0 non-compliance (#3209)
    • fb888a32d6a403918e444e4bd603472348bfa666 Remove unused crate (#3211)
    • 9ec9d04457f44fd36260c42d39bcd18eea60a18b Refactor to pass batch around explicitly (#3176)
    • 2f1e8299b1e3c26298e28b8bc5c61162f4bacff6 cleanup unused hash_with impl (#3207)
    • a1b6c31481f39f79c2c6b0d887d2e7b98508698b tests: split consensus tests into separate files for each chain type … (#3168)
    • 4152d9fc0cca9cb129994e3bd8967c7613e306af Build block header from pre pow data and proof (#3178)
    • 4449c91c043cad20b71389768d586b466fa8dbb9 Fix return code in peers API (#3186)
    • c15aedf190f31fade48de40b6c1ddb4ed10e0303 Bug fix for highest_index in output API. (#3200)
    • da3b3b23c687504ebee2fb30d8bf73e610d81103 Fixed issues with fuzz in core. (#3193)
    • 6e5afe496b201a1a5df4f42c62cd5fe1bdc24c6b Update License to 2020 (#3196)
    • d1b3f939b072b02ac4d28118d84a76a8e09f6ec9 Remove old website for grin.mw (#3195)
    • 8568c77d6eeb120492406b31af6d11dcefc5a25d explicit str, rustc 1.34.0 doesn't seem to pick this up otherwise (#3191)
    • c2026bd686c9f515d377e91370482f8e3dc388d0 Remove unused crates (#3185)
    • 0ad2513bb6ff84470c8d05dc24e2c37673729ab0 Removed binary blob: localhost+1.p12. (#3189)
    • a73a54a10e1de9d3a2e1bf3db3daf6946b6f225d [Done][doc] Chinese Translation (#3122)
    • 81a2bbd5e8edb90d13afd22e1aab3aece6fbeebe TUI peer sort order (#3184)
    • d31427f694d3627dff7b068870c47bff1ca5e3d6 Fix compiler warning 'unnecessary parentheses around type' (#3175)
    • 2bf4080866da89cddb86032e1b7ffa01af503192 versioning for master
    • 266af4e91f6bf959cd600758ff8883c218a63aab version bump for master

    This list of changes was auto generated.

    Source code(tar.gz)
    Source code(zip)
    grin-v3.1.0-beta.3-linux-amd64-sha256sum.txt(132 bytes)
    grin-v3.1.0-beta.3-linux-amd64.tar.gz(6.86 MB)
    grin-v3.1.0-beta.3-macos-sha256sum.txt(145 bytes)
    grin-v3.1.0-beta.3-macos.tar.gz(5.28 MB)
    grin-v3.1.0-beta.3-win-x64-sha256sum.txt(304 bytes)
    grin-v3.1.0-beta.3-win-x64.zip(4.67 MB)
Rust implementation of Zcash protocol

The Parity Zcash client. Gitter Blog: Parity teams up with Zcash Foundation for Parity Zcash client Installing from source Installing the snap Running

Parity Technologies 183 Sep 8, 2022
Implementation of the Kademlia DHT protocol in Rust

kademlia-dht Simple implementation of the Kademlia DHT protocol in Rust with state dumping features for educational purposes (not production-ready). T

Leonardo Folgoni 18 Sep 24, 2022
Reference client for NEAR Protocol

Reference implementation of NEAR Protocol About NEAR NEAR's purpose is to enable community-driven innovation to benefit people around the world. To ac

NEAR 2k Dec 29, 2022
IBC modules and relayer - Formal specifications and Rust implementation

ibc-rs Rust implementation of the Inter-Blockchain Communication (IBC) protocol. This project comprises primarily four crates: The ibc crate defines t

Informal Systems 296 Jan 4, 2023
A Rust implementation of BIP-0039

bip39-rs A Rust implementation of BIP0039 Changes See the changelog file, or the Github releases for specific tags. Documentation Add bip39 to your Ca

Infincia LLC 49 Dec 9, 2022
Polkadot Node Implementation

Polkadot Implementation of a https://polkadot.network node in Rust based on the Substrate framework. NOTE: In 2018, we split our implementation of "Po

Parity Technologies 6.5k Jan 6, 2023
Official implementation of the YeeCo Root Chain (Layer 1)

yeeroot Official implementation of the YeeCo Root Chain (Layer 1) YeeCo is a permissionless, secure, high performance and scalable public blockchain p

YeeCo 29 Sep 20, 2022
Martinez is vNext Ethereum implementation written in pure Rust with Erigon architecture as design.

?? Martinez ?? Next-generation implementation of Ethereum protocol ("client") written in Rust, based on Erigon architecture. Why run Martinez? Look at

Arthur·Thomas 23 Jul 3, 2022
Minimal implementation of the Mimblewimble protocol.

Grin Grin is an in-progress implementation of the Mimblewimble protocol. Many characteristics are still undefined but the following constitutes a firs

null 5k Dec 28, 2022
A minimalistic encryption protocol for rust async streams/packets, based on noise protocol and snow.

Snowstorm A minimalistic encryption protocol for rust async streams / packets, based on noise protocol and snow. Quickstart Snowstorm allows you to se

Black Binary 19 Nov 22, 2022
Rocker is a minimal docker implementation for educational purposes.

Rocker is a minimal docker implementation for educational purposes inspired by gocker. Rocker uses linux kernel features (namespace, cgroup, chroot etc.) to isolate container processes and limit available resourses.

Daiki Miura 16 Feb 14, 2022
Rocker is a minimal docker implementation for educational purposes.

Rocker is a minimal docker implementation for educational purposes inspired by gocker. Rocker uses linux kernel features (namespace, cgroup, chroot etc.) to isolate container processes and limit available resourses.

Daiki Miura 16 Feb 14, 2022
A minimal jwt implementation for OIDC

Compact JWT Json Web Tokens (JWT) are a popular method for creating signed transparent tokens that can be verified by clients and servers. They are en

Kanidm 4 Dec 29, 2021
A minimal RedDSA implementation for use in Zebra and zcashd.

A minimal RedDSA implementation for use in Zcash. Two specializations of RedDSA are used in Zcash: RedJubjub and RedPallas. For each of these, two par

Zcash Foundation 3 Jul 30, 2022
untyped-arena provides an Arena allocator implementation that is safe and untyped with minimal complexity

untyped-arena untyped-arena provides an Arena allocator implementation that is safe and untyped with minimal complexity Usage let arena = Arena::new()

Max Bruce 1 Jan 9, 2022
A simple, very minimal Minecraft server implementation in Rust.

A simple, very minimal Minecraft server implementation in Rust. For a simple Minecraft server that isn't supposed to do much (for example, a limbo ser

Chris 8 Dec 22, 2022
A minimal, allocation-free Prometheus/OpenMetrics metrics implementation for `no-std` and embedded Rust.

tinymetrics a minimal, allocation-free Prometheus/OpenMetrics metrics implementation for no-std and embedded projects. why should you use it? you may

Eliza Weisman 282 Apr 16, 2023
Another minimal Raft implementation in Rust.

raft-rs Not my first time implementing Raft. I wrote about another implementation in Go I did. But you don't learn a concept well until you've impleme

Phil Eaton 43 Dec 15, 2023
Official Rust implementation of the Nimiq protocol

Nimiq Core implementation in Rust (core-rs) Rust implementation of the Nimiq Blockchain Core Nimiq is a frictionless payment protocol for the web. Thi

Nimiq 72 Sep 23, 2022
Rust implementation of Zcash protocol

The Parity Zcash client. Gitter Blog: Parity teams up with Zcash Foundation for Parity Zcash client Installing from source Installing the snap Running

Parity Technologies 183 Sep 8, 2022