Grin + Grin Wallet 3.0.0-beta.1 Released

Grin and Grin wallet 3.0.0-beta.1 have been released and are ready for public testing in advance of the full release slated for early January.

There are a lot of new features in this release, with transactions exchange via TOR, Payment Proofs and many node sync improvements being a few. But with great change comes a great need for public testing, so we urge the entire community to help out with the effort:

Particular Areas to focus on for testing

  • Sync a new chain from scratch
  • Replace binary, using chain data from previous versions
  • Sending between 3.0.0 wallets and 2.x.x wallets
  • Sending/receiving between a 3.0.0 wallet and your exchange of choice (use small test amounts!)
  • Sending and receiving transactions via TOR, see the wallet change nodes below for how to do this.
  • Requesting payment proofs
  • IMPORTANT: Run a floonet node and perform transactions on floonet during the floonet test hardfork, scheduled for block 298,080, estimated to happen on or around December 19th.
  • Wallet Developers - Using the new V3 wallet API functions, see notes below for details

Binaries

Grin 3.0.0-beta.1 Binaries
Grin Wallet 3.0.0-beta.1 Binaries

Release Planning

Planning notes for the 3.0.0 release

Major changes and enhancements (Please note this information may change before release)

Node:

  • TUI logs screen
  • Node API V2
  • fast sync validation now shows progress during kernel and rangeproof validation
  • Enable fast sync (consensus changes)
  • Fix for tcp stream nonblocking flag
  • No more checking (old) orphans during txhashset write (fast sync)
  • Ability to stop txhashset mid download (fast sync)

Further Details

Details for all node changes for the 3.0.0 release can be found here:

Wallet

  • Detailed notes on all walllet changes for both users and upstream developers can be found here. Note that 3.0.0 wallets are able to transact with 2.x.x wallets with caveats around new feaures as outlined in the notes.

Futher Details

Details on all wallet changes for the 3.0.0 release can be found here:

11 Likes

Fantastic. What’s the best way to learn more about the new payment proofs?

EDIT: Here’s the answer! Payment Proofs RFC

1 Like

Does TOR come included with the 3.0.0 wallet, or does it have to be installed separately? @Yeastplume

1 Like

I try to sync from scratch but every time it get stuck at Downloading Headers now it stuck at %23 before that it has stuck at ~%64 when I quit and enter again it continue to sync. Build from source and have not touched any config files.

What do your log files show when the headers download gets stuck? Anything notable?

20191210 12:54:01.177 INFO grin_servers::common::adapters - Received 32 block headers from 39.104.23.106:13414
20191210 12:54:01.548 INFO grin_servers::common::adapters - Received 32 block headers from 39.104.23.106:13414
20191210 12:54:01.981 INFO grin_servers::common::adapters - Received 32 block headers from 39.104.23.106:13414
20191210 12:54:02.551 INFO grin_servers::common::adapters - Received 32 block headers from 39.104.23.106:13414
20191210 12:54:02.876 INFO grin_servers::common::adapters - Received 32 block headers from 39.104.23.106:13414
20191210 12:54:03.276 INFO grin_servers::common::adapters - Received 32 block headers from 39.104.23.106:13414
20191210 12:59:26.697 INFO grin_servers::common::types - DandelionEpoch: next_epoch: is_stem: false (90%), relay: Some(PeerAddr(V4(35.223.12.108:3414)))
20191210 13:09:36.762 INFO grin_servers::common::types - DandelionEpoch: next_epoch: is_stem: true (90%), relay: Some(PeerAddr(V4(47.97.218.157:3414)))
20191210 13:19:46.827 INFO grin_servers::common::types - DandelionEpoch: next_epoch: is_stem: true (90%), relay: Some(PeerAddr(V4(35.223.12.108:3414)))
20191210 13:29:56.895 INFO grin_servers::common::types - DandelionEpoch: next_epoch: is_stem: true (90%), relay: Some(PeerAddr(V4(109.74.202.16:3414)))
20191210 13:31:02.049 WARN grin::tui::ui - Shutdown in progress, please wait
20191210 13:31:02.761 INFO grin_servers::grin::server - connect_and_monitor thread stopped
20191210 13:31:38.039 INFO grin_servers::grin::server - sync thread stopped
20191210 13:31:38.039 INFO grin_servers::grin::server - dandelion_monitor thread stopped
20191210 13:31:40.341 ERROR grin_p2p::peers - get_connected_peer: failed to get peers lock
20191210 13:31:40.434 ERROR grin_p2p::peers - get_connected_peer: failed to get peers lock
20191210 13:31:40.435 WARN grin_servers::grin::server - Shutdown complete
20191210 13:32:01.977 INFO grin_util::logger - log4rs is initialized, file level: Info, stdout level: Warn, min. level: Info
20191210 13:32:01.977 INFO grin - Using configuration file at /home/grinmw/.grin/main/grin-server.toml
20191210 13:32:01.977 INFO grin - This is Grin version 3.0.0-beta.1 (git v3.0.0-beta.1), built for x86_64-unknown-linux-gnu by rustc 1.39.0 (4560ea788 2019-11-04).
20191210 13:32:01.977 WARN grin::cmd::server - Starting GRIN in UI mode...
20191210 13:32:01.977 INFO grin_servers::grin::server - Starting server, genesis block: 40adad0aec27
20191210 13:32:02.017 INFO grin_servers::grin::server - Starting rest apis at: 127.0.0.1:3413
20191210 13:32:02.017 WARN grin_api::handlers - Starting HTTP Node APIs server at 127.0.0.1:3413.
20191210 13:32:02.018 WARN grin_api::handlers - HTTP Node listener started.
20191210 13:32:02.018 INFO grin_servers::grin::server - Starting dandelion monitor: 127.0.0.1:3413
20191210 13:32:02.018 WARN grin_servers::grin::server - Grin server started.
20191210 13:32:02.018 INFO grin_servers::common::types - DandelionEpoch: next_epoch: is_stem: true (90%), relay: None
20191210 13:32:03.374 INFO grin_servers::common::adapters - Received 32 block headers from 18.185.102.19:3414
20191210 13:32:03.440 INFO grin_servers::common::adapters - Received 32 block headers from 18.185.102.19:3414
20191210 13:32:03.504 INFO grin_servers::common::adapters - Received 32 block headers from 18.185.102.19:3414
20191210 13:32:03.567 INFO grin_servers::common::adapters - Received 32 block headers from 18.185.102.19:3414

Looks like something to do with “DandelionEpoch”

No, TOR remains optional, upstream developers can bundle it how they see fit. Individual users just need to ensure TOR is installed and on the path.