Electrum-GRS 4.1.2 released

Started by jackielove4u, June 22, 2021, 08:14:27 PM

Previous topic - Next topic


Electrum-grs is a lightweight "thin client" groestlcoin wallet Windows, MacOS and Linux based on a client-server protocol. Its main advantages over the original Groestlcoin client include support for multi-signature wallets and not requiring the download of the entire block chain.

If you are an ordinary user of Groestlcoin and simply want the convenience of a web wallet with the security of a real application and support for multi-signature, then Elecrum-GRS is the right choice for you.

Changelog 4.1.2 - This version is our second major release with support for the Lightning Network. While our initial Lightning release was mostly about implementing the protocol, this release brings features that are specifically aimed at keeping Electrum-GRS lightweight and trustless, while avoiding single points of failure. Most of the features listed below are user-visible.

• The wallet creation wizard no longer asks for a seed type, and creates segwit wallets with bech32 addresses. Older seed types can still be created with the command line.
• Paid invoices (both incoming and outgoing) are automatically removed from the send/receive lists of the GUI (one confirmation is needed for onchain invoices). Once removed from the list, invoice details can still be accessed from the transaction history. In Qt, invoice lists have been renamed to 'Sending queue' and 'Receiving queue'.
• Lightning:
    - recoverable channels (see below)
    - trampoline payments (see below)
    - support multi-part-payment
    - support upfront-shutdown-script
• Recoverable channels (option):
   - Recovery data is added to the channel funding transaction using an OP_RETURN. This makes it possible to recover a static backup of the channel from the wallet seed. Please note that static backups only allow users to request a force-close of the channel with the remote node, so that funds not locked in HTLCs can be recovered. This assumes that the remote node is still online, did not lose its data, and accepts to force close the channel.
   - This option is only available for standard wallets with an Electrum-GRS seed. It is not available for hardware wallets, because it requires a deterministic derivation of the nodeID. It is also not available in watching-only wallets, for the same reason. If a wallet can have recoverable channels but has an old nodeID, users who want to use that feature need to close all their existing channels, and to restore their wallet from seed.
   - Channel recovery data uses 20 bytes (16 bytes of the remote NodeID plus 4 magic bytes) and is encrypted so that only the wallet that owns it can decrypt it. However, blockchain analysis will be able to tell that the transaction was probably created by Electrum-GRS.
   - If the 'use recoverable channels' option is enabled, other nodes cannot open a channel to Electrum-GRS.
   - If a channel is force-closed, the information in the on-chain backup is not sufficient to retrieve the funds in the to_local output, in case the wallet is lost in a boating accident before expiration of the CSV delay. For that reason, an additional backup is presented to the user if they force-close a channel.
• Trampoline routing (option): Trampoline is a solution that allows light clients to delegate path-finding on the Lightning Network, so that they do not have to download the entire network graph. Here is how Trampoline works in Electrum-GRS:
   - Trampoline is enabled by default, in order to prevent unwanted download of the network gossip. If trampoline is disabled, the gossip will be downloaded, regardless of the existence of channels.
   - Because there is no discovery mechanism for trampoline nodes, the list of available trampolines is hardcoded in the client (it will remain so until support for trampoline routing is announced in gossip). 1 trampoline node are currently available on mainnet: eclair.
   - If Trampoline is enabled:
      - payments use trampoline routing.
      - gossip is disabled.
      - the wallet can only open channels with trampoline nodes.
      - pre-existing channels with non-trampoline nodes are frozen for sending.
   - There are two types of trampoline payments: legacy and trampoline end-to-end. Legacy payments are possible with any receiver, but they offer less privacy than end-to-end trampoline payments. Electrum-GRS decides whether to perform legacy or end-to-end based on the features in the invoice:
       - OPTION_TRAMPOLINE_ROUTING_OPT (bit 25) for Electrum-GRS
       - OPTION_TRAMPOLINE_ROUTING_OPT_ECLAIR (bit 51) for Groestlcoin Eclair
   - When performing a legacy payment, Electrum-GRS will add a second trampoline node to the route in order to protect the privacy of the payer and payee. It will fall back to a single trampoline if the two-trampoline strategy has failed for all trampolines.
   - The fee and CLTV delay are found by trial-and-error. If there is a second trampoline in the route, we use the same fee/CLTV for both. This trial-and-error is temporary; the final specification should add fee information in the failure messages, so that we will be able to better fine-tune trampoline fees.
• Qt: The increase fee dialog now has advanced options, and offers the choice between different RBF strategies.
• Watchtowers: The 'use_local_watchtower' feature is deprecated, and it has been removed from the Qt GUI. The 'use_remote_watchtower' setting has been renamed to 'use_watchtower'.
• BIP-0350: use bech32m for witness version 1+ addresses (4315fa43). We have supported sending to any witness version since Electrum-GRS 3.0.6, using BIP-0173 (bech32) addresses. BIP-0350 makes a breaking change in address encoding, and recommends using a new encoding (bech32m) for sending to witness version 1 and later.
• Block explorer: allow setting a custom URL in Qt GUI
• fix Qt crash with the swap dialog
• fix localization issues
• fix python crash with swaps
• Qt GUI:
    - fix some crashes when exiting
    - make sure pressing Ctrl-C always quits

• Encrypted wallet - the file that contains your groestlcoins is protected with a password. You are protected from thieves.
• Deterministic key generation - If you lose your wallet, you can recover it from its seed. You are protected from your own mistakes.
• Instant on - the client does not download the blockchain, it requests that information from a server. No delays, always up-to-date.
• Freedom and Privacy - The server does not store user accounts. You are not tied to a particular server, and the server does not need to know you.
• No scripts - Electrum-GRS does not download any script. A compromised server cannot send you arbitrary code and steal your groestlcoins.
• No single point of failure - The server code is open source, anyone can run a server.
• Transactions are signed locally - Your private keys are not shared with the server. You do not have to trust the server with your money.
• Firewall friendly - The client does not need to open a port, it simply polls the server for updates.
• Free software - Gnu GPL v3. Anyone can audit the code.
• Written in Python - The code is short, and easy to review.
• User Friendly - Support for Groestlcoin URIs, signed URIs and Groestlcoin aliases
• No Lock-In - You can export your private keys and use them in other groestlcoin clients.
• No Downtimes - Electrum-GRS servers are decentralized and redundant. Your wallet is never down.
• Proof Checking - Electrum-GRS Wallet verifies all the transactions in your history using SPV.
• Cold Storage - Keep your private keys offline, and go online with a watching-only wallet. Sign transactions from a computer that is always offline. Broadcast them from a machine that does not have your keys.
• Multisign - Split the permission to spend your coins between several wallets using parallel BIP32 derivations and P2SH addresses ("2 of 2", "2 of 3"). Compact serialization format for unsigned or partially signed transactions, that includes the BIP32 master public key and derivation needed to sign inputs. Serialized transactions can be sent to cosigners or to cold storage using QR codes

This application is licensed under the GPL version 3. There is no warranty and no party shall be made liable to you for damages. If you lose coins due to this app, no compensation will be given. Use this app solely at your own risk.

Store your secret phrase somewhere safe!
The multi-signature and non native segwit addresses starts with a "3" and not with a "F".
Electrum-GRS creates an encrypted filename default_wallet instead of wallet.dat (like in Groestlcoin Core)
• Location Windows: Navigate to C:\Users\USER NAME\AppData\Roaming\Electrum-grs\wallets (or open windows explorer and enter %appdata%\Electrum-grs\wallets) and back up your default_wallet file by making a copy of it and moving it to a secure location.
• Location Mac: Navigate to ~/Library/Application Support/Electrum-grs/wallets and back up your default_wallet file by making a copy of it and moving it to a secure location.

You can download it using the links below and be up and running with Groestlcoin in 5 minutes.

Download the OSX wallet here: https://github.com/Groestlcoin/electrum-grs/releases/download/v4.1.2/electrum-grs-4.1.2.dmg

Download Windows installer here: https://github.com/Groestlcoin/electrum-grs/releases/download/v4.1.2/electrum-grs-4.1.2-setup.exe
Download Windows standalone wallet here: https://github.com/Groestlcoin/electrum-grs/releases/download/v4.1.2/electrum-grs-4.1.2.exe
Download Windows portable version here: https://github.com/Groestlcoin/electrum-grs/releases/download/v4.1.2/electrum-grs-4.1.2-portable.exe
Download Linux installer here: https://github.com/Groestlcoin/electrum-grs/releases/download/v4.1.2/electrum-grs-4.1.2-x86_64.AppImage

Source code:
GitHub Source server: https://github.com/Groestlcoin/electrumx-grs
Github Source server installer: https://github.com/Groestlcoin/electrumx-grs-installer
Github Source client: https://github.com/Groestlcoin/electrum-grs