HOW TO INSTALL BITCOIN WALLET ON LINUX – Fragabergnos
HOW TO INSTALL BITCOIN WALLET ON LINUX – Fragabergnos
Moving the Bitcoin Core Data Directory - Bitzuma
How To Install Bitcoin Core on Ubuntu – Linux Hint
A complete beginners guide to installing a Bitcoin Full ...
How to install Bitcoin Wallet on Ubuntu ... - Linux Tutorials
Groestlcoin 6th Anniversary Release
Dear Groestlers, it goes without saying that 2020 has been a difficult time for millions of people worldwide. The groestlcoin team would like to take this opportunity to wish everyone our best to everyone coping with the direct and indirect effects of COVID-19. Let it bring out the best in us all and show that collectively, we can conquer anything. The centralised banks and our national governments are facing unprecedented times with interest rates worldwide dropping to record lows in places. Rest assured that this can only strengthen the fundamentals of all decentralised cryptocurrencies and the vision that was seeded with Satoshi's Bitcoin whitepaper over 10 years ago. Despite everything that has been thrown at us this year, the show must go on and the team will still progress and advance to continue the momentum that we have developed over the past 6 years. In addition to this, we'd like to remind you all that this is Groestlcoin's 6th Birthday release! In terms of price there have been some crazy highs and lows over the years (with highs of around $2.60 and lows of $0.000077!), but in terms of value– Groestlcoin just keeps getting more valuable! In these uncertain times, one thing remains clear – Groestlcoin will keep going and keep innovating regardless. On with what has been worked on and completed over the past few months.
UPDATED - Groestlcoin Core 2.18.2
This is a major release of Groestlcoin Core with many protocol level improvements and code optimizations, featuring the technical equivalent of Bitcoin v0.18.2 but with Groestlcoin-specific patches. On a general level, most of what is new is a new 'Groestlcoin-wallet' tool which is now distributed alongside Groestlcoin Core's other executables. NOTE: The 'Account' API has been removed from this version which was typically used in some tip bots. Please ensure you check the release notes from 2.17.2 for details on replacing this functionality.
Builds are now done through Gitian
Calls to getblocktemplate will fail if the segwit rule is not specified. Calling getblocktemplate without segwit specified is almost certainly a misconfiguration since doing so results in lower rewards for the miner. Failed calls will produce an error message describing how to enable the segwit rule.
A warning is printed if an unrecognized section name is used in the configuration file. Recognized sections are [test], [main], and [regtest].
Four new options are available for configuring the maximum number of messages that ZMQ will queue in memory (the "high water mark") before dropping additional messages. The default value is 1,000, the same as was used for previous releases.
The rpcallowip option can no longer be used to automatically listen on all network interfaces. Instead, the rpcbind parameter must be used to specify the IP addresses to listen on. Listening for RPC commands over a public network connection is insecure and should be disabled, so a warning is now printed if a user selects such a configuration. If you need to expose RPC in order to use a tool like Docker, ensure you only bind RPC to your localhost, e.g. docker run [...] -p 127.0.0.1:1441:1441 (this is an extra :1441 over the normal Docker port specification).
The rpcpassword option now causes a startup error if the password set in the configuration file contains a hash character (#), as it's ambiguous whether the hash character is meant for the password or as a comment.
The whitelistforcerelay option is used to relay transactions from whitelisted peers even when not accepted to the mempool. This option now defaults to being off, so that changes in policy and disconnect/ban behavior will not cause a node that is whitelisting another to be dropped by peers.
A new short about the JSON-RPC interface describes cases where the results of anRPC might contain inconsistencies between data sourced from differentsubsystems, such as wallet state and mempool state.
A new document introduces Groestlcoin Core's BIP174 interface, which is used to allow multiple programs to collaboratively work to create, sign, and broadcast new transactions. This is useful for offline (cold storage) wallets, multisig wallets, coinjoin implementations, and many other cases where two or more programs need to interact to generate a complete transaction.
The output script descriptor (https://github.com/groestlcoin/groestlcoin/blob/mastedoc/descriptors.md) documentation has been updated with information about new features in this still-developing language for describing the output scripts that a wallet or other program wants to receive notifications for, such as which addresses it wants to know received payments. The language is currently used in multiple new and updated RPCs described in these release notes and is expected to be adapted to other RPCs and to the underlying wallet structure.
A new --disable-bip70 option may be passed to ./configure to prevent Groestlcoin-Qt from being built with support for the BIP70 payment protocol or from linking libssl. As the payment protocol has exposed Groestlcoin Core to libssl vulnerabilities in the past, builders who don't need BIP70 support are encouraged to use this option to reduce their exposure to future vulnerabilities.
The minimum required version of Qt (when building the GUI) has been increased from 5.2 to 5.5.1 (the depends system provides 5.9.7)
getnodeaddresses returns peer addresses known to this node. It may be used to find nodes to connect to without using a DNS seeder.
listwalletdir returns a list of wallets in the wallet directory (either the default wallet directory or the directory configured bythe -walletdir parameter).
getrpcinfo returns runtime details of the RPC server. Currently, it returns an array of the currently active commands and how long they've been running.
deriveaddresses returns one or more addresses corresponding to an output descriptor.
getdescriptorinfo accepts a descriptor and returns information aboutit, including its computed checksum.
joinpsbts merges multiple distinct PSBTs into a single PSBT. The multiple PSBTs must have different inputs. The resulting PSBT will contain every input and output from all the PSBTs. Any signatures provided in any of the PSBTs will be dropped.
analyzepsbt examines a PSBT and provides information about what the PSBT contains and the next steps that need to be taken in order to complete the transaction. For each input of a PSBT, analyze psbt provides information about what information is missing for that input, including whether a UTXO needs to be provided, what pubkeys still need to be provided, which scripts need to be provided, and what signatures are still needed. Every input will also list which role is needed to complete that input, and analyzepsbt will also list the next role in general needed to complete the PSBT. analyzepsbt will also provide the estimated fee rate and estimated virtual size of the completed transaction if it has enough information to do so.
utxoupdatepsbt searches the set of Unspent Transaction Outputs (UTXOs) to find the outputs being spent by the partial transaction. PSBTs need to have the UTXOs being spent to be provided because the signing algorithm requires information from the UTXO being spent. For segwit inputs, only the UTXO itself is necessary. For non-segwit outputs, the entire previous transaction is needed so that signers can be sure that they are signing the correct thing. Unfortunately, because the UTXO set only contains UTXOs and not full transactions, utxoupdatepsbt will only add the UTXO for segwit inputs.
getpeerinfo now returns an additional minfeefilter field set to the peer's BIP133 fee filter. You can use this to detect that you have peers that are willing to accept transactions below the default minimum relay fee.
The mempool RPCs, such as getrawmempool with verbose=true, now return an additional "bip125-replaceable" value indicating whether thetransaction (or its unconfirmed ancestors) opts-in to asking nodes and miners to replace it with a higher-feerate transaction spending any of the same inputs.
settxfee previously silently ignored attempts to set the fee below the allowed minimums. It now prints a warning. The special value of"0" may still be used to request the minimum value.
getaddressinfo now provides an ischange field indicating whether the wallet used the address in a change output.
importmulti has been updated to support P2WSH, P2WPKH, P2SH-P2WPKH, and P2SH-P2WSH. Requests for P2WSH and P2SH-P2WSH accept an additional witnessscript parameter.
importmulti now returns an additional warnings field for each request with an array of strings explaining when fields are being ignored or are inconsistent, if there are any.
getaddressinfo now returns an additional solvable Boolean field when Groestlcoin Core knows enough about the address's scriptPubKey, optional redeemScript, and optional witnessScript for the wallet to be able to generate an unsigned input spending funds sent to that address.
The getaddressinfo, listunspent, and scantxoutset RPCs now return an additional desc field that contains an output descriptor containing all key paths and signing information for the address (except for the private key). The desc field is only returned for getaddressinfo and listunspent when the address is solvable.
importprivkey will preserve previously-set labels for addresses or public keys corresponding to the private key being imported. For example, if you imported a watch-only address with the label "coldwallet" in earlier releases of Groestlcoin Core, subsequently importing the private key would default to resetting the address's label to the default empty-string label (""). In this release, the previous label of "cold wallet" will be retained. If you optionally specify any label besides the default when calling importprivkey, the new label will be applied to the address.
getmininginfo now omits currentblockweight and currentblocktx when a block was never assembled via RPC on this node.
The getrawtransaction RPC & REST endpoints no longer check the unspent UTXO set for a transaction. The remaining behaviors are as follows:
If a blockhash is provided, check the corresponding block.
If no blockhash is provided, check the mempool.
If no blockhash is provided but txindex is enabled, also check txindex.
unloadwallet is now synchronous, meaning it will not return until the wallet is fully unloaded.
importmulti now supports importing of addresses from descriptors. A desc parameter can be provided instead of the "scriptPubKey" in are quest, as well as an optional range for ranged descriptors to specify the start and end of the range to import. Descriptors with key origin information imported through importmulti will have their key origin information stored in the wallet for use with creating PSBTs.
listunspent has been modified so that it also returns witnessScript, the witness script in the case of a P2WSH orP2SH-P2WSH output.
createwallet now has an optional blank argument that can be used to create a blank wallet. Blank wallets do not have any keys or HDseed. They cannot be opened in software older than 2.18.2. Once a blank wallet has a HD seed set (by using sethdseed) or private keys, scripts, addresses, and other watch only things have been imported, the wallet is no longer blank and can be opened in 2.17.2. Encrypting a blank wallet will also set a HD seed for it.
signrawtransaction is removed after being deprecated and hidden behind a special configuration option in version 2.17.2.
The 'account' API is removed after being deprecated in v2.17.2 The 'label' API was introduced in v2.17.2 as a replacement for accounts. See the release notes from v2.17.2 for a full description of the changes from the 'account' API to the 'label' API.
addwitnessaddress is removed after being deprecated in version 2.16.0.
generate is deprecated and will be fully removed in a subsequent major version. This RPC is only used for testing, but its implementation reached across multiple subsystems (wallet and mining), so it is being deprecated to simplify the wallet-node interface. Projects that are using generate for testing purposes should transition to using the generatetoaddress RPC, which does not require or use the wallet component. Calling generatetoaddress with an address returned by the getnewaddress RPC gives the same functionality as the old generate RPC. To continue using generate in this version, restart groestlcoind with the -deprecatedrpc=generate configuration option.
Be reminded that parts of the validateaddress command have been deprecated and moved to getaddressinfo. The following deprecated fields have moved to getaddressinfo: ismine, iswatchonly,script, hex, pubkeys, sigsrequired, pubkey, embedded,iscompressed, label, timestamp, hdkeypath, hdmasterkeyid.
The addresses field has been removed from the validateaddressand getaddressinfo RPC methods. This field was confusing since it referred to public keys using their P2PKH address. Clients should use the embedded.address field for P2SH or P2WSH wrapped addresses, and pubkeys for inspecting multisig participants.
A new /rest/blockhashbyheight/ endpoint is added for fetching the hash of the block in the current best blockchain based on its height (how many blocks it is after the Genesis Block).
A new Window menu is added alongside the existing File, Settings, and Help menus. Several items from the other menus that opened new windows have been moved to this new Window menu.
In the Send tab, the checkbox for "pay only the required fee" has been removed. Instead, the user can simply decrease the value in the Custom Fee rate field all the way down to the node's configured minimumrelay fee.
In the Overview tab, the watch-only balance will be the only balance shown if the wallet was created using the createwallet RPC and thedisable_private_keys parameter was set to true.
The launch-on-startup option is no longer available on macOS if compiled with macosx min version greater than 10.11 (useCXXFLAGS="-mmacosx-version-min=10.11" CFLAGS="-mmacosx-version-min=10.11" for setting the deployment sdkversion)
A new groestlcoin-wallet tool is now distributed alongside Groestlcoin Core's other executables. Without needing to use any RPCs, this tool can currently create a new wallet file or display some basic information about an existing wallet, such as whether the wallet is encrypted, whether it uses an HD seed, how many transactions it contains, and how many address book entries it has.
Since version 2.16.0, Groestlcoin Core's built-in wallet has defaulted to generating P2SH-wrapped segwit addresses when users want to receive payments. These addresses are backwards compatible with all widely used software. Starting with Groestlcoin Core 2.20.1 (expected about a year after 2.18.2), Groestlcoin Core will default to native segwitaddresses (bech32) that provide additional fee savings and other benefits. Currently, many wallets and services already support sending to bech32 addresses, and if the Groestlcoin Core project sees enough additional adoption, it will instead default to bech32 receiving addresses in Groestlcoin Core 2.19.1. P2SH-wrapped segwit addresses will continue to be provided if the user requests them in the GUI or by RPC, and anyone who doesn't want the update will be able to configure their default address type. (Similarly, pioneering users who want to change their default now may set the addresstype=bech32 configuration option in any Groestlcoin Core release from 2.16.0 up.)
BIP 61 reject messages are now deprecated. Reject messages have no use case on the P2P network and are only logged for debugging by most network nodes. Furthermore, they increase bandwidth and can be harmful for privacy and security. It has been possible to disable BIP 61 messages since v2.17.2 with the -enablebip61=0 option. BIP 61 messages will be disabled by default in a future version, before being removed entirely.
The submitblock RPC previously returned the reason a rejected block was invalid the first time it processed that block but returned a generic "duplicate" rejection message on subsequent occasions it processed the same block. It now always returns the fundamental reason for rejecting an invalid block and only returns "duplicate" for valid blocks it has already accepted.
A new submitheader RPC allows submitting block headers independently from their block. This is likely only useful for testing.
The signrawtransactionwithkey and signrawtransactionwithwallet RPCs have been modified so that they also optionally accept a witnessScript, the witness script in the case of a P2WSH orP2SH-P2WSH output. This is compatible with the change to listunspent.
For the walletprocesspsbt and walletcreatefundedpsbt RPCs, if thebip32derivs parameter is set to true but the key metadata for a public key has not been updated yet, then that key will have a derivation path as if it were just an independent key (i.e. no derivation path and its master fingerprint is itself).
The -usehd configuration option was removed in version 2.16.0 From that version onwards, all new wallets created are hierarchical deterministic wallets. This release makes specifying -usehd an invalid configuration option.
This release allows peers that your node automatically disconnected for misbehaviour (e.g. sending invalid data) to reconnect to your node if you have unused incoming connection slots. If your slots fill up, a misbehaving node will be disconnected to make room for nodes without a history of problems (unless the misbehaving node helps your node in some other way, such as by connecting to a part of the Internet from which you don't have many other peers). Previously, Groestlcoin Core banned the IP addresses of misbehaving peers for a period (default of 1 day); this was easily circumvented by attackers with multiple IP addresses. If you manually ban a peer, such as by using the setban RPC, all connections from that peer will still be rejected.
The key metadata will need to be upgraded the first time that the HDseed is available. For unencrypted wallets this will occur on wallet loading. For encrypted wallets this will occur the first time the wallet is unlocked.
Newly encrypted wallets will no longer require restarting the software. Instead such wallets will be completely unloaded and reloaded to achieve the same effect.
A sub-project of Bitcoin Core now provides Hardware Wallet Interaction (HWI) scripts that allow command-line users to use several popular hardware key management devices with Groestlcoin Core. See their project page for details.
This release changes the Random Number Generator (RNG) used from OpenSSL to Groestlcoin Core's own implementation, although entropy gathered by Groestlcoin Core is fed out to OpenSSL and then read back in when the program needs strong randomness. This moves Groestlcoin Core a little closer to no longer needing to depend on OpenSSL, a dependency that has caused security issues in the past. The new implementation gathers entropy from multiple sources, including from hardware supporting the rdseed CPU instruction.
On macOS, Groestlcoin Core now opts out of application CPU throttling ("app nap") during initial blockchain download, when catching up from over 100 blocks behind the current chain tip, or when reindexing chain data. This helps prevent these operations from taking an excessively long time because the operating system is attempting to conserve power.
How to Upgrade?
Windows If you are running an older version, shut it down. Wait until it has completely shut down (which might take a few minutes for older versions), then run the installer. OSX If you are running an older version, shut it down. Wait until it has completely shut down (which might take a few minutes for older versions), run the dmg and drag Groestlcoin Core to Applications. Ubuntu http://groestlcoin.org/forum/index.php?topic=441.0
ALL NEW - Groestlcoin Moonshine iOS/Android Wallet
Built with React Native, Moonshine utilizes Electrum-GRS's JSON-RPC methods to interact with the Groestlcoin network. GRS Moonshine's intended use is as a hot wallet. Meaning, your keys are only as safe as the device you install this wallet on. As with any hot wallet, please ensure that you keep only a small, responsible amount of Groestlcoin on it at any given time.
Groestlcoin Mainnet & Testnet supported
Multiple wallet support
Electrum - Support for both random and custom peers
Biometric + Pin authentication
Custom fee selection
Import mnemonic phrases via manual entry or scanning
BIP39 Passphrase functionality
Support for Segwit-compatible & legacy addresses in settings
Support individual private key sweeping
UTXO blacklisting - Accessible via the Transaction Detail view, this allows users to blacklist any utxo that they do not wish to include in their list of available utxo's when sending transactions. Blacklisting a utxo excludes its amount from the wallet's total balance.
Ability to Sign & Verify Messages
Support BitID for password-free authentication
Coin Control - This can be accessed from the Send Transaction view and basically allows users to select from a list of available UTXO's to include in their transaction.
HODL GRS connects directly to the Groestlcoin network using SPV mode and doesn't rely on servers that can be hacked or disabled. HODL GRS utilizes AES hardware encryption, app sandboxing, and the latest security features to protect users from malware, browser security holes, and even physical theft. Private keys are stored only in the secure enclave of the user's phone, inaccessible to anyone other than the user. Simplicity and ease-of-use is the core design principle of HODL GRS. A simple recovery phrase (which we call a Backup Recovery Key) is all that is needed to restore the user's wallet if they ever lose or replace their device. HODL GRS is deterministic, which means the user's balance and transaction history can be recovered just from the backup recovery key.
Simplified payment verification for fast mobile performance
Groestlcoin Seed Savior is a tool for recovering BIP39 seed phrases. This tool is meant to help users with recovering a slightly incorrect Groestlcoin mnemonic phrase (AKA backup or seed). You can enter an existing BIP39 mnemonic and get derived addresses in various formats. To find out if one of the suggested addresses is the right one, you can click on the suggested address to check the address' transaction history on a block explorer.
If a word is wrong, the tool will try to suggest the closest option.
If a word is missing or unknown, please type "?" instead and the tool will find all relevant options.
NOTE: NVidia GPU or any CPU only. AMD graphics cards will not work with this address generator. VanitySearch is a command-line Segwit-capable vanity Groestlcoin address generator. Add unique flair when you tell people to send Groestlcoin. Alternatively, VanitySearch can be used to generate random addresses offline. If you're tired of the random, cryptic addresses generated by regular groestlcoin clients, then VanitySearch is the right choice for you to create a more personalized address. VanitySearch is a groestlcoin address prefix finder. If you want to generate safe private keys, use the -s option to enter your passphrase which will be used for generating a base key as for BIP38 standard (VanitySearch.exe -s "My PassPhrase" FXPref). You can also use VanitySearch.exe -ps "My PassPhrase" which will add a crypto secure seed to your passphrase. VanitySearch may not compute a good grid size for your GPU, so try different values using -g option in order to get the best performances. If you want to use GPUs and CPUs together, you may have best performances by keeping one CPU core for handling GPU(s)/CPU exchanges (use -t option to set the number of CPU threads).
Fixed size arithmetic
Fast Modular Inversion (Delayed Right Shift 62 bits)
SecpK1 Fast modular multiplication (2 steps folding 512bits to 256bits using 64 bits digits)
Use some properties of elliptic curve to generate more keys
SSE Secure Hash Algorithm SHA256 and RIPEMD160 (CPU)
Groestlcoin EasyVanity 2020 is a windows app built from the ground-up and makes it easier than ever before to create your very own bespoke bech32 address(es) when whilst not connected to the internet. If you're tired of the random, cryptic bech32 addresses generated by regular Groestlcoin clients, then Groestlcoin EasyVanity2020 is the right choice for you to create a more personalised bech32 address. This 2020 version uses the new VanitySearch to generate not only legacy addresses (F prefix) but also Bech32 addresses (grs1 prefix).
Ability to continue finding keys after first one is found
Includes warning on start-up if connected to the internet
Ability to output keys to a text file (And shows button to open that directory)
Show and hide the private key with a simple toggle switch
Show full output of commands
Ability to choose between Processor (CPU) and Graphics Card (GPU) ( NVidia ONLY! )
Features both a Light and Dark Material Design-Style Themes
Free software - MIT. Anyone can audit the code.
Written in C# - The code is short, and easy to review.
Groestlcoin WPF is an alternative full node client with optional lightweight 'thin-client' mode based on WPF. Windows Presentation Foundation (WPF) is one of Microsoft's latest approaches to a GUI framework, used with the .NET framework. Its main advantages over the original Groestlcoin client include support for exporting blockchain.dat and including a lite wallet mode. This wallet was previously deprecated but has been brought back to life with modern standards.
Works via TOR or SOCKS5 proxy
Can use bootstrap.dat format as blockchain database
Import/Export blockchain to/from bootstrap.dat
Import wallet.dat from Groestlcoin-qt wallet
Export wallet to wallet.dat
Use both groestlcoin-wpf and groestlcoin-qt with the same addresses in parallel. When you send money from one program, the transaction will automatically be visible on the other wallet.
Rescan blockchain with a simple mouse click
Works as a full node and listens to port 1331 (listening port can be changed)
Fast Block verifying, parallel processing on multi-core CPUs
Mine Groestlcoins with your CPU by a simple mouse click
All private keys are kept encrypted on your local machine (or on a USB stick)
Lite - Has a lightweight "thin client" mode which does not require a new user to download the entire Groestlcoin chain and store it
Free and decentralised - Open Source under GNU license
Fixed Import/Export to wallet.dat
Rescan wallet option
Change wallet password option
Address type and Change type options through *.conf file
Import from bootstrap.dat - It is a flat, binary file containing Groestlcoin blockchain data, from the genesis block through a recent height. All versions automatically validate and import the file "grs.bootstrap.dat" in the GRS directory. Grs.bootstrap.dat is compatible with Qt wallet. GroestlCoin-Qt can load from it.
In Full mode file %APPDATA%\Groestlcoin-WPF\GRS\GRS.bootstrap.dat is full blockchain in standard bootstrap.dat format and can be used with other clients.
Groestlcoin Electrum Personal Server aims to make using Electrum Groestlcoin wallet more secure and more private. It makes it easy to connect your Electrum-GRS wallet to your own full node. It is an implementation of the Electrum-grs server protocol which fulfils the specific need of using the Electrum-grs wallet backed by a full node, but without the heavyweight server backend, for a single user. It allows the user to benefit from all Groestlcoin Core's resource-saving features like pruning, blocks only and disabled txindex. All Electrum-GRS's feature-richness like hardware wallet integration, multi-signature wallets, offline signing, seed recovery phrases, coin control and so on can still be used, but connected only to the user's own full node. Full node wallets are important in Groestlcoin because they are a big part of what makes the system be trust-less. No longer do people have to trust a financial institution like a bank or PayPal, they can run software on their own computers. If Groestlcoin is digital gold, then a full node wallet is your own personal goldsmith who checks for you that received payments are genuine. Full node wallets are also important for privacy. Using Electrum-GRS under default configuration requires it to send (hashes of) all your Groestlcoin addresses to some server. That server can then easily spy on your transactions. Full node wallets like Groestlcoin Electrum Personal Server would download the entire blockchain and scan it for the user's own addresses, and therefore don't reveal to anyone else which Groestlcoin addresses they are interested in. Groestlcoin Electrum Personal Server can also broadcast transactions through Tor which improves privacy by resisting traffic analysis for broadcasted transactions which can link the IP address of the user to the transaction. If enabled this would happen transparently whenever the user simply clicks "Send" on a transaction in Electrum-grs wallet. Note: Currently Groestlcoin Electrum Personal Server can only accept one connection at a time.
Use your own node
Uses less CPU and RAM than ElectrumX
Used intermittently rather than needing to be always-on
Doesn't require an index of every Groestlcoin address ever used like on ElectrumX
UPDATED – Android Wallet 7.38.1 - Main Net + Test Net
The app allows you to send and receive Groestlcoin on your device using QR codes and URI links. When using this app, please back up your wallet and email them to yourself! This will save your wallet in a password protected file. Then your coins can be retrieved even if you lose your phone.
Add confidence messages, helping users to understand the confidence state of their payments.
Handle edge case when restoring via an external app.
Count devices with a memory class of 128 MB as low ram.
Introduce dark mode on Android 10 devices.
Reduce memory usage of PIN-protected wallets.
Tapping on the app's version will reveal a checksum of the APK that was installed.
Fix issue with confirmation of transactions that empty your wallet.
Groestlcoin Sentinel is a great solution for anyone who wants the convenience and utility of a hot wallet for receiving payments directly into their cold storage (or hardware wallets). Sentinel accepts XPUB's, YPUB'S, ZPUB's and individual Groestlcoin address. Once added you will be able to view balances, view transactions, and (in the case of XPUB's, YPUB's and ZPUB's) deterministically generate addresses for that wallet. Groestlcoin Sentinel is a fork of Groestlcoin Samourai Wallet with all spending and transaction building code removed.
BTC Node. Need help with Ubuntu and BTC core program. To the Linux experts here in reddit.
The good thing of loosing a post, is that you have to retype everything and this means that you are able to shorten the post. So. TLDR, I have 2 hdd, 80gb and 320, the second one has only, all the Blockchain info, from another already running node. I am not able to tell BTC Core program that the files are already there so he does not need to download 300gb. After hours of Google and linux forums, I am stuck in this issue. Every time I type "bitcoin-qt" on my terminal, it shows as a first download. Any help will be appreciate. Full story. English is not my first language, and this is being typed for second time (please have mercy on my grammar or misspelling mistakes), because I posted the question on linux subreddit nobody give a f..... so I decided to bring it here, posted a short post with the link and the automatic bot deleted because the of the link. I erased both the linux and the bitcoin post, and made a third one new, here, with plain text, copy pasting the info from the linux post. Never appeared on the "new" section of this sub. So hours of typing lost, and here we are. Old Notebook. 80gb drive, and noob to Linux. Although I have some pc and logic knowledge, installed MINT due to a recommendation from a Bitcoin community, but since I have a friend with an already running node, with Ubuntu switched to this one, just to have the same system. Once Ubuntu installed, on the 80gb and pc running, I copy and pasted the whole bitcoin folder from my friends pc to my 320 gb. Up to here all was good. But here is the problem My friend, who does not understand nothing about linux, is owner of a company and has an IT guy who made everything for him, but would not be willing to help me a lot, (just to be good with his boss but right now it is not reachable for me), but when we where on my pc he told me that Linux is very sensitive to ports, in other words, a small usb change, will do a program to loose the path for the files. SO, instead of using the 320gb disk on USB i installed on this notebook second Hdd bay (its an old high end laptop with 2 sata connectors), he was able to set the program and everything went well for a couple of hours, Bitcoin Core program started synchronizing, downloading very little info. I needed to turn of the pc to move it, so closed the program (waited until bitcoin core program told me was safe to) and turn it off, then turn it on again, and the problem was there, bitcoin core program started trying to download the whole blockchain in the spare 2gb of the 320 gb disk. So what it seemed to happen is that even when the disk is installed on a sata bay from the motherboard, as I did not installed ubunutu with this disk connected it's route (adress?) is dinamyc and that is why BTC Core Program lost the files and does not recognize it. After hours of google, linux forums and "askubuntu" i was able to, mount the 320gb disk, first editing the fstab ( i followed the guide in "askubuntu.com/questions/125257/how-do-i-add-an-additional-hard-drive") by the way. Trying to use VIM editor was a pain, it is REALLY difficult to type something there, and save it without pressing a wrong key. I had to cancel and start over at least a dozen times (plus reading several guides), but still was not able to mount the disk (Actually after following the steps, the hdd (320) disappeared from the GUI). went back, erased, and the did the NANO steps, and I THINK that now the hard drive it is fixed (before, any change,when restarting the second hdd took some time to appear, now it seems that is mounted and to a fixed adress). Well, after mounting the hdd, I tryed to call the bitcoin-qt and the initial download page appear and again tries to download from the initial block. I searched over hours "file association in ubuntu", "program files path" etc etc and the only thing I found is how to set up the desired software to open a file. For you to understand my mess, when I did the "user:user" thing, I did not understand completely what I was doing, (yes I had to be in sudo) BUT i think I managed to did the correct thing as both hdd are shown in the Ubuntu GUI. Some additional data is Both hard drives are formated in Ext4 I have (I think that) a fstab.bak before any changes I knwo that linux users sometimes ask for details on the system, just tell me the commands and i can run them to stick any info needed. Thanks for the help in advance.
Storage space: I am using an 8 GB microSD card for the OS, and a 128 GB USB drive for data. Minimums I would recommend: 8GB SD card and 32 GB USB drive.
Reddcoin Core client version: v18.104.22.168-a8767ba-beta (most recent version at this moment). ↳ Screenshot
You need the OS; Lubuntu. Download Lubuntu (707 MB) for the Raspberry Pi: https://ubuntu-pi-flavour-maker.org/download/. It's a .torrent download, so you will need a BitTorrent client. Message me or post in this thread if you need help with this.
You need software to write the OS to the SD card. I use Etcher. Download Etcher: https://etcher.io/.
Select image: select the lubuntu-16.04.2-desktop-armhf-raspberry-pi.img.xz file.
Select drive: select your microSD card.
Plug the SD card into your Raspberry Pi and power it up.
Lubuntu should boot up.
Set up Lubuntu, connect to the internet (wired or wireless). ↳ As username, I chose "rpi3b". You will see this username throughout this whole tutorial.
Make sure date and time are correct ([Menu] > System Tools > Time and Date). ↳ Click on Unlock to make changes. I personally change Configuration to "Keep synchronized with Internet servers". ↳ Screenshot
Reboot ([Menu] > Logout > Reboot). I am connected to wifi, but have issues getting wifi to work on initial boot. A reboot solves this issue.
Make sure system is up-to-date, install never versions.
Open LXTerminal ([Menu] > System Tools > LXTerminal). ↳ Screenshot
Enter the following in LXTerminal: sudo apt update && sudo apt upgrade ↳ Screenshot
You will be asked if you really want to continue. Enter Y (yes).
Updates are being installed! Wait until it's finished.
Install programs that will be used in this tutorial.
GParted: to partition the USB drive.
Htop: to see the amount of memory (RAM) and swap that is in use.
Enter the following in LXTerminal to install these 2 programs. sudo apt install gparted && sudo apt install htop ↳ Screenshot
Create 2 partitions on the USB drive: 1) Swap partition 2) data partition (for the Reddcoin blockchain) The swap partition is necessary: The Reddcoin wallet can be memory intensive. To prevent any crashes or freezes, add 2 GB of 'virtual' memory by creating a swap partition.
Important: Backup your USB drive if needed. The USB drive will be formatted, so the data on the USB drive will be wiped.
Please use the USB drive solely for this purpose, do not combine it with other stuff.
Keep your USB drive plugged in, do not (randomly) plug it out.
Plug your USB drive in.
GParted will be used to create the partititons. Start GParted via LXTerminal: sudo gparted ↳ Screenshot
Apply the changes. Click on the check mark or select Edit > Apply All Operations. ↳ Screenshot ↳ Screenshot
Important: The name of the swap partition is needed later, so please write it down. Mine is /dev/sda1 (first partition on first drive (drive 'a')). ↳ Screenshot
Reboot. After the reboot, the data partition you just created should be visible on your desktop. ↳ Screenshot
The swap partition is created, so now we can enable and use it.
The swap in use can be monitored with the program Htop. Open Htop ([Menu] > System Tools > Htop) to see the 'Swp' (swap) in use. ↳ Screenshot By default, swap is not used, so 0K. ↳ Screenshot You can leave Htop open.
To enable the swap partition, open LXTerminal and enter the following commands: (Assuming /dev/sda1 is your swap partition.)
Unpack the file (large file, takes around 15 minutes to unpack): sudo xz -d bootstrap.dat.xz ↳ Screenshot
After a successful unpack, your will find the file bootstrap.dat in your USB root folder. ↳ Screenshot
On the first run of the Reddcoin Core client, it will ask for a data directory to store the blockchain and wallet data.
Start the Reddcoin Core client: sudo /media/rpi3b/usb/reddcoin/src/qt/reddcoin-qt ↳ Screenshot
The welcome screen will appear and ask you about the data directory. I suggest a new folder on your USB drive, I picked blockchain. The directory will be created with all the necessary files. ↳ Screenshot
Click on the three dots (...) on the right. ↳ Screenshot
Click on Create Folder at the upper right corner. Type and enter in the folder name. (In my case: blockchain.) Click on Open. ↳ Screenshot ↳ Screenshot ↳ Screenshot
After selecting the directory, the Reddcoin Core client will start. Wait till it's fully loaded and close it.
Move the bootstrap.dat file to your data directory you selected in the previous step. By doing this, Reddcoin Core will use the bootstrap.dat file to import the blockchain, which speeds up syncing. sudo mv bootstrap.dat /media/rpi3b/usb/blockchain/ (Assuming blockchain as data directory.) ↳ Screenshot
The Reddcoin Core client set up is completed, but you still have to sync fully with the blockchain before you can send, receive and stake.
Keep the client running until it's fully synchronized. It will use the bootstrap file first, and download the rest of the blockchain to complete the sync. This can take some time (it took 2 days for me). Syncing the blockchain uses a lot of resources, so the software may react slow.
You can see the progress in the debug window (Help > Debug window). ↳ Screenshot
When the synchronization is completed, the red (out of sync) will disappear on the Overview screen! ↳ Screenshot
When synchronization is complete, you can start staking your Reddcoins.
You can write down your private key or copy and save it in a document. Make sure you save it somewhere only you can access it.
To import later: Debug window -> Console -> importprivkey [label] [label] is optional. ↳ Screenshot (without a label) ↳ Screenshot (with a label)
Boot with only 1 USB drive plugged in: Make sure only the USB drive (with the swap partition and data partition) is plugged in when you boot up your Raspberry Pi. This to make sure the swap partition (/dev/sda1) is recognized correctly. If you boot up with multiple USB drives, Lubuntu might see the USB drive with the swap partition as the second drive (instead of the first drive), and ignore the 2 GB swap partition. If this happens, starting Reddcoin can render the Raspberry Pi unresponsive.
Start Reddcoin Core easier Run a shell script (.sh file), so you can start Reddcoin just by double clicking on an icon on your Desktop.
Right Click on your Desktop and select Create New -> Empty File. ↳ Screenshot
Enter a file name, make sure it ends with .sh, and click on OK. I've chosen for Reddcoin.sh. ↳ Screenshot The file will be created on your Desktop. ↳ Screenshot
Add the command to start Reddcoin to the file.
Right click on the file, select Leafpad (to open the file in a text editor). ↳ Screenshot
Add the following to the file and save the file: sudo /media/rpi3b/usb/reddcoin/src/qt/reddcoin-qt ↳ Screenshot
To be able to execute the shell script (.sh), it has to have 'execute permissions'.
Right click on the file, and select Properties. ↳ Screenshot
Click on the Permissions tab.
For Execute, select Anyone, and click on OK. ↳ Screenshot
To start Reddcoin Core, double click on the file. A new window will pop-up, asking you what you want. Execute in Terminal is what we want, so you can click on enter. ↳ Screenshot Reddcoin Core will now start. Do not close the Terminal window, you can minimize it if needed.
Minimization options Adjust minimization options, so you can safely press on the X button (the close/exit button on the upper right corner).
Activate 'Minimize on close'. Settings -> Options... -> Window (tab) -> Minimize on close. ↳ Screenshot Reddcoin will still run when you click on the X button. To close/exit Reddcoin, right click on the Reddcoin icon in the system tray (bottom right corner). ↳ Screenshot
RealVNC VNC Viewer (client) and VNC Connect (server): To remote connect to the Raspberry Pi, I use VNC Viewer ad VNC Connect from RealVNC.
After your download is finished, open the file and click Install Package. ↳ Screenshot
To run the VNC Connect once:
Open [Menu] > Run, and enter: vncserver-x11 ↳ Screenshot
To auto run on startup:
Open Default applications for LXSession ([Menu] > Preferences > Default applications for LXSession). ↳ Screenshot
In LXSessions configuration, select Autostart in the menu left.
Under Manual autostarted applications, enter vncserver-x11 and click on + Add. ↳ Screenshot ↳ Screenshot
Reboot your Raspberry Pi and check if VNC Connect is started automatically after the reboot.
When VNC Connect is running, you'll see a VNC icon on the right bottom corner. Double click the icon to open VNC Connect and to see the IP address you need to enter to connect to your Raspberry Pi. ↳ Screenshot
Run a 0.14 Full-Node on RaspberryPi3 Pruned(less than 16GB SD needed)
Hi! Happy if this guide helps you. Tip if you want: 19656Uwdwko5RjtnuwQENpjBwE3ChzD59v UPDATE 04/06/17 Add 'uacomment=UASF-SegWit-BIP148' into your bitcoin.conf if you want to signal UASF. UPDATE 03/13/17 ADDED a tl;dr; Version at the end of this Post. UPDATE 03/12/17: Just to test it - I reinstalled all on 8GB SD and it works as well. But maybe you should use at least 16GB for the beginning. Using a 128GB card for the first version was a little bit stupid - so I reinstalled everything on a 8GB SD card. Including Linux and a pruned blockchain - and it works. I used prune=550 and Jessie Lite (headless / command line) - without wallet and gui. The SD is almost full, but it works so far I also updated the whole manual a bit to make things more clear. Thank you for all your feedback! Just started my Bitcoin Node today and wanted to share the way I did it with people who are interested in running their own full node. It took some time to write everything down - hopefully correct so far. I am sure, many people around bitcoin are way more informed and educated as I am - I am the noob. So I wrote this manual to help users like me - noobs, to get started with a cheap, simple bitcoin node on raspberry pi. Have fun! I wanted to get my Raspberry Pi 3 working as a node to support the network. Actually the process of installing and running the node was more or less easy - but for Noobs (like I am) it might be a bit tricky to start the whole thing, because there are different ways. Did you - like me - think you would need +120GB on the raspi, external USB HDD to be a full node? You won't! If you have a Raspberry and you know what Bitcoin is, I guess, you are a little bit aware of linux, networks and of course bitcoin - so I won't go into detail too much. This guide is just a little helper to get a full node running on your raspberry pi. Thanks to the help of the nice people in this sub and of course the documentation by the developers, I got it working - and of course also special thanks to raspnode.com - as I followed their tutorial to start - I went some other ways here and there - so please read carefully. For the Part 2 I would suggest to have http://raspnode.com/diyBitcoin.html open and read through my manual. I split the tutorial in 2 Parts - PART ONE is about installing the client on your PC and downloading the Blockchain. PART TWO is about the setup of the raspberryPi and transferring the pruned blockchain to the pi and run it as a full node! The first thing to be aware of is: You actually need to download the whole blockchain to get this working - if you already have your bitcoin client synced on the PC / MAC great you can reuse it! Now you might think "but you said less than 16GB in the title!" Yes, but the good thing is you won't need to download it on your Raspberry, neither you need to sync it completely on your raspberry which took ages (weeks!) before. When you finished this Guide, you will just have a max. 4GB Blockchain on your Raspberry Pi - but it still is a full node! The magic word is Pruning. Maybe even a 8GB SD Card works just fine including Linux (jessie lite)! So, if you already have a full node on your PC - Great you can almost skip PART ONE - BUT have at how to Prune in PART ONE if you don't know about it. For PART TWO you'll need a Raspberry Pi 2 or 3 (I used 3) min. 8GB (works also) or better 16GB SD Card. (I used a 128GB for the first version of this manual - which is way too big)
This is the manual how to get started on you PC / MAC / Linux (I did it on Win7) Go to: https://bitcoin.org/en/download and download the core Client for your Machine (I used win64). Install it and configure it to save the Blockchaindata to the directory of your choice - so instead getting 120GB on your C drive, I would suggest to download it to another place like a USB drive. You can set this up during the install. Standard folder for the blockchain folder is "%APPDATA%\Bitcoin" on Windows. or you can do it after the install by creating a bitcoin.conf file inside your installation folder / or %APPDATA%\Bitcoin and add
to the file. Line by line. By the way here you could also just add dbcache - to use more memory to speed up the process a bit:
if you don't want to use the settings inside the program. (you can also set this inside the program under settings! If you have this inside the bitcoin.conf you will see the amount you set there from inside the program - it overrides the values) You can check inside the windows client under settings, if you can see a manual dbcache is set by having a look at the left footer area. When your dbcache value shows up, everything is fine. So the Blockchain download process will take time - maybe a few days! Depending on your machine, internet connection and HDD. The Blockchain is huge as it contains every single transaction of the past until today. You won't need to keep your PC running all the time, you can turn it off and on and it will resync automatically when you start bitcoin-qt.exe! Make sure to close the client always via "quit" - ctrl+q. After you have your bitcoin core installed, the blockchain downloaded and synced - you are ready to PRUNE! First - close the Client and let it close smoothly. After it is really closed you can follow these steps:
By pruning, your blockchain will dramatically shrink. From 120GB to just a few GB.
Be aware, that you will lose your Downloaded Blockchain as pruning will erase a big chunk of it! If you have enough space, you could of course keep the full blockchain saved somewhere on another HDD. You can prune by editing your bitcoin.conf file by adding:
I used prune=1024 - not sure where the differences are right now (min. prune=550). (for my 8GB version I used 550! I suggest to use this.) Save the bitcoind.conf file and restart your windows client. It will now clean up the Blockchain. So just the latest blocks are saved. The client should start without any problems. Maybe it takes some time to prune the blockchain data. Check if everything works normally (the client opens as usual, you can see an empty wallet) than close the client. Inside the Bitcoin Folder, you'll find two folders called:
those are the interesting folders containing the important data (now pruned) - and we will transfer those two to the raspberry later! Now you are good to start the raspi transfer explained in the next part.
Here is what I did: 1) I installed Raspian Pixel (https://www.raspberrypi.org/downloads/raspbian/) using a 128 GB SD - which is not needed because of "Pruning" - I think a 16GB card might work, too! (You can also install Raspian Jessie Lite - which saves you even more space, as it runs headless - only command line) (Updated: It is better to use Jessie Lite to save a lot of space - when you are fine with only command line) 2) I followed partly this tutorial to get everything running and setup:
Please have a look at it - I have copied the Headlines in capitals to let you know what I did, and what I skipped. On Tutorial Page: Start with RASPBIAN (OPTIONAL) CONFIG OPTIONS. Set You RasPi up including "EDITING FILES" to save your Layout at the tutorial page and come back here. I skipped the CONFIGURE USB AND SET AUTOMOUNT process, as we are going to use PRUNING to reduce the 120GB to a tiny filesize - so USB Devices are not needed here! It was necessary to ENLARGE SWAP FILE to install bitcoin core - otherwise it didn't went through which ended in a frozen raspi. So have a close look by following the raspnode tutorial at: ENLARGE SWAP FILE. I have my raspi running via cable to router - but you can also WiFi setup everything described under NETWORKING ON THE RASPBERRY PI. Now comes the interesting part: Follow the steps at DOWNLOADING BITCOIN CORE DEPENDENCIES - they work fine for 0.14.0 too. Git should be on Board already when you installed Pixel - otherwise you would need to install it.
sudo apt-get install git -y (only jessy lite)
I skipped the next command lines - as I don't use bitcoin-qt wallet. If you want to use it as wallet - do the step.
as I don't need the wallet functionality. I didn't need to use "MAKE" which saves you maybe up to 2.5 hours. instead you can just go ahead with:
sudo make install
(If I am wrong in doing so - please let me know) The install takes some time - and just a heads up: when it gets stuck somewhere - just redo the installation process - it took three times to went through - stuck at some processing. After the installation took place you can finally get your Raspberry Pi Node running in no time! To test if the the installation went through - you can just start bitcoind using:
than check if everything is working so far:
after a few seconds you should see version: etc... if not, something went wrong. Try to redo the steps in the raspnode tutorial. (don't give up if it failed - retry! Ask your questions here) IMPORTANT: you need to stop bitcoin on your raspberry now!
If you don't need an external USB Drive - what I hope - as we are going to use pruning just go ahead and skip the USB part and create a file inside (or follow the raspnode tutorial on how to setup the USB drive):
cd .bitcoin sudo nano bitcoin.conf
and enter the exact same pruning size you have used on your Desktop Machine to prune. I used 1024 but the minimum is 550. (used 550 for the 8GB SD card on PC and Raspberry)
That's it for the raspi. update: To signal UASF enter in a new line:
Now you have to transfer the two folders CHAINSTATE and BLOCKS from your PC bitcoind directory to your raspberry. I am using a program called "WINSCP" - it is free and easy to use: https://winscp.net/eng/download.php We need this to transfer the files to the Raspberry pi. Pretty sure you can also do it via SSH - but I am the noob. So let's keep it simple. Open Winscp and put in the IP Address of your Raspberry Pi, User and Password (same as in SSH) You should now see the directories on your Raspberry Pi. There is a folder called
enter it and you will see the two folders
blocks & chainstate
you can delete them on the raspberry as they have some data from your previous test inside. Make sure you can also see the bitcoin.conf file in that directory, which needs to contain the exact same prune line, like the one on your desktop machine. If not, make sure to edit it via SSH. The line "datadir=l:\yourfolder" is obviously not needed in the Raspberry bitcoin.conf file. Now grab the two folders CHAINSTATE and BLOCKS from your PC and copy them to your .bitcoind folder. I also copied banlist.dat, fee_estimation.dat, mempool.dat and peers.dat to the folder - not really knowing if needed! Not needed. The whole copy process might take some minutes (against some weeks in the old way). After copying is finished, you can now start bitcoind on the Raspberry.
the & symbol let you still use the command line while the process is running btw. The process - if succesfull - will take some time to finish.
Will give you some informations what is going on right now. When you can see, that it is checking the blocks, this is good! If you get an error - double check - if you have the correct prune size (same as on desktop machine) - in bitcoin.conf and that this file is inside .bitcoin on RaspberryPi. It took me some time, to find my mistakes. Congrats! You are almost a part of the network! To make your node now a fullnode, you will need to go to your router (often 192.168.1.1) and enable portforwarding for your raspberry pi - and open ports 8333 - that's it! You can now go to: https://bitnodes.21.co/nodes/ scroll down to "JOIN THE NETWORK" and check check if your node IP is connected! It will show up as soon as the blocks are checked and the raspi is running. Well done! Now you are running a full node, with a small Blockchain and got it working in Minutes, not weeks! I really hope, my little tutorial worked for you and your are part of the Node network now. If you have problems or I made a mistake in this helper tut, just let me know and I will try to make it better. Have fun and NODL! the noob tl;dr; (if you are a real noob start with the non-tl;dr version!) tl;dr; PART ONE 1) Download & install / setup bitcoincore @ https://bitcoin.org/de/download 2) change dbcache to something smaller than your memory and download the whole Blockchain (120GB). 3) create a file called bitcoin.conf put the line prune=550 (or higher) in to activate pruning on win inside %appData%/bitcoin 4) Open ports 8333 on your Router to make this a full node with a smaller Blockchain. You are running a full node on your PC. tl;dr; PART TWO 1) Install jessie lite and the needed dependencies on your SDCard - Raspberry ( >git clone -b 0.14 https://github.com/bitcoin/bitcoin.git )
see tutorial for more info.
2) create a file called bitcoin.conf inside .bitcoin and add the same prune=Number you had on your PC. 3) transfer the pruned folders BLOCKS and CHAINSTATE to the Raspberry Folder .bitcoin 4)Start "bitcoind &" 5) let everything sync 6) Make sure you have port 8333 opened on your router. You are running a full node on your Raspberry with a super small Blockchain (I put all on a 8GB SDcard) Tip if you want : 19656Uwdwko5RjtnuwQENpjBwE3ChzD59v updated 03/12 - will update more, soon. updated 03/12.2 - I updated the whole process a bit and also added some improvements. updated 03/14/ Added a tl;dr version at the end.
Hi Redditors. I am going to post in this thread my experiences in getting my Desktop (Debian) machine running Armory in watch-only mode, and coupling that with an offline Raspberry Pi (which holds my private keys) for signing the transactions previously made in watch-only mode. I actually compiled Armory from source directly on my Pi. This guide is probably more for the bitcoin 'power user', as to run Armory online, and broadcast the signed transactions, you need to have a bitcoin full node running (bitcoind). Basic requirements:
Online machine - running a full node (bitcoind)
Raspberry Pi - I used an old Pi 1 Model B with just 512Mb memory, and 2 USB slots.
2x USB thumb-drives. One for wallet backups, the other for transferring unsigned tx's to the rPi, and signed tx's back to the Desktop.
Armory 0.96.4 for the Raspberry Pi 1, Model B (512Mb RAM, 2xUSB) (compiled from github sourcecode on the Pi itself!)
Using the Pi as an offline complement to a Debian Desktop "watch-only" Armory install.
Desktop Debian Armory watch-only talks to my full node, bitcoind, which is also on the Debian desktop.
I'll post the guide in digestible sections...
I should begin by saying I installed source code from git, and got Armory to build the DB on my desktop initially, WITHOUT creating a wallet.. (This allowed me to debug what was going on a little!)
Go to Bitcoin.org, select Armory.. It leads to a Download from Git: https://github.com/goatpig/BitcoinArmory/releases Followed the procedure for Linux Debian verify code, compile, install, all straight-forward.. Began by running bitcoind, and telling Armory where to find it. This is the command I used, obviously it was all on one line and didn't include the arrows/explanations!:
python ArmoryQt.py \ --satoshi-datadir=/BlockChain/chain20180414/blocks \ # <-----(where my bitcoind blocks live) --datadir=/ArmoryDataDi \ # <-----(this is instead of ~/.armory) --dbdir=/ArmoryDataDidatabases # <-------(again, non std. place used for Armory's databases.. my choice.)
So, on the Desktop, after the initial "build databases" (NB the initial "Build Databases" took about 1.5h and my two CPUs were maxed the whole time, Temps up to 62C. Not ideal; Im not in a rush!) I then wanted to import a watch-only wallet. Before I did this, I took a full backup of the Armory data dir: /ArmoryDataDi (or ~/.armory in a default installation). I'd hate to have to make Armory do another full sync with the bitcoind node!
Next step: offline wallet (with Private Keys) is on a Raspberry Pi. I downloaded the source and managed to compile it on the pi itself! :) Though there were some gymnastics needed to setup the Pi. My Pi is running Raspbian based on Wheezy.. quite old! I did the following on the Pi:
apt-get update apt-get upgrade (<---took about an hour!) apt-get install autotools-dev apt-get install autoconf
Then I followed the instructions exactly as I had done for my Debian Desktop machine, EXCEPT: I had to increase the Pi's swap space. I upped it from 100Mb to 400Mb. The compilation took 7 hours, and my poor SD card got a thrashing. But after compilation, I put the Swap back to 100Mb and Armory runs ok with about 150Mb of memory (no swap needed). Swap increase on the Pi: use your favourite editor, and open the file /etc/dphys-swapfile add/change the following line:
Then, REBOOT the Pi:
sudo shutdown -h -P now
Once the compilation was done on the Pi, put the swap back, rebooted and created an Armory wallet. I added manual entropy and upped the encryption 'time' from 250ms to 2500ms - since the Pi is slow, but I'll be happy to wait for more iterations in the Key Derivation Function. Once the wallet was created, it obviously prompts you for backup. I want to add a private key of my own (i.e. import), so don't do the backup until this is over. I import my Private Key, and Armory checks that this corresponds to a Public Key, which I check is correct. This is the point now where the Pi storage medium (e.g an SD card) has to be properly destroyed if you ever get rid of it. I had thought that now would be a good time to decide if your new wallet will generate Segwit receiving addresses, and also addresses used to receive 'change' after a transaction.. But it seems Armory WON'T let you switch to P2SH-P2WPKH unless your Armory is connected to a node offering "WITNESS" service. Obviously, my Pi is offline and will never connect to a node, so the following will not work on the Pi:
x Use File Settings Fee and address types.
x Set the "Preferred Receive Address Type" to P2SH-P2WPKH
x Also Set the "Change Address" to P2SH-P2WPKH for left-over loose change!
NB: I thought about setting this on the Debian "watch-only" wallet, but that would surely mean doom, as the Pi would not know about those addresses and backups might not keep them.. who knows... So, end result:- no segwit for me just yet in my offline funds.
--If anyone can offer a solution to this, I'd be very grateful--
Ok, now this is a good point to back up your wallet on the Pi. It has your imported keys. I choose a Digital Backup - and put it on a USB key, which will never touch the internet and will be stored off-site. I also chose to encrypt it, because I'm good with passwords.. NB: The Armory paper backup will NOT back up your imported private keys, so keep those somewhere if you're not sweeping them. It would be prudent to have an Armory paper backup anyway, but remember it will likely NOT help you with that imported key. Now for the watch-only copy of the wallet. I want to get the "watch-only" version onto my Desktop Debian machine. On the Pi, I created (exported to a USB key) a "watching-only" copy of my wallet. I would use the RECOMMENDED approach, export the "Entire Wallet File". As you will see below, I initially exported only the ROOT data, which will NOT capture the watching-only part of the Private Key I entered manually above (i.e. the public Key!). Now, back on the Debian Desktop machine... I stopped all my crontab jobs; just give Armory uninterrupted CPU/memory/disk... I also stopped bitcoind and made a backup prior to any watch-only wallet being imported. I already made a backup of Armory on my Desktop, before any wallet import. (this was needed, as I made a mistake.. see below) So on the Debian Desktop machine, I begin by firing up bitcoind. my command for this is:
I know from bitter experience that doing a scan over the blockchain for a new wallet takes a looong time and a lot of CPU, and I'd like it to play nicely; not gobble all the memory and swap and run my 2xCPUs both at 100% for four hours... So... I aim to run with --ram-usage=X and --thread-count=X (For me in the end, X=1 but I began with X=4) I began with --ram-usage=4 (<--- = 4x128Mb) The result is below...
TypeError: cannot concatenate 'str' and 'int' objects
It didn't recognise the ram-usage and carried on, crippling my Debian desktop PC. This is where it gets dangerous; Armory can gobble so much memory and CPU that the windowing environment can cease up, and it can take over 30 minutes just to exit nicely from bitcoind and ArmoryDB. So, I ssh to the machine from another computer, and keep an eye on it with the command
I'd also be able to do a "sudo reboot now" if needed from here.
So, trying to get my --ram-usage command recognised, I tried this line (added quotes):
Loading Armory Engine: Armory Version: 0.96.4 Armory Build: None PyBtcWallet Version: 1.35 Detected Operating system: Linux OS Variant : ('debian', '9.4', '') User home-directory : /home/ Satoshi BTC directory : /BlockChain/chain20180414 Armory home dir : /ArmoryDataDi ArmoryDB directory : /ArmoryDataDidatabases Armory settings file : /ArmoryDataDiArmorySettings.txt Armory log file : /ArmoryDataDiarmorylog.txt Do wallet checking : True (ERROR) ArmoryUtils.py:3723 - Unsupported language specified. Defaulting to English (en) (ERROR) ArmoryQt.py:1833 - Failed to start Armory database: cannot concatenate 'str' and 'int' objects Traceback (most recent call last): File "ArmoryQt.py", line 1808, in startArmoryDBIfNecessary TheSDM.spawnDB(str(ARMORY_HOME_DIR), TheBDM.armoryDBDir) File "/BitcoinArmory/SDM.py", line 387, in spawnDB pargs.append('--ram-usage=' + ARMORY_RAM_USAGE) TypeError: cannot concatenate 'str' and 'int' objects
So, I edit the Armory python file SDM.py:
if ARMORY_RAM_USAGE != -1: pargs.append('--ram-usage=4') #COMMENTED THIS, SO I CAN HARDCODE =4 # ' + ARMORY_RAM_USAGE)
Running it, I now have acknowledgement of the --ram-usage=4:
(WARNING) SDM.py:400 - Spawning DB with command: /BitcoinArmory/ArmoryDB --db-type="DB_FULL" --cookie --satoshi-datadir="/BlockChain/chain20180414/blocks" --datadir="/ArmoryDataDi" --dbdir="/ArmoryDataDidatabases" --ram-usage=4
Also, even with ram-usage=4, it used too much memory, so I told it to quit. It took over 30 minutes to stop semi-nicely. The last thing it reported was:
ERROR - 00:25:21: (StringSockets.cpp:351) FcgiSocket::writeAndRead FcgiError: unexpected fcgi header version
But that didn't seem to matter or corrupt the Armory Database, so I think it's ok. So, I get brave and change SDM.py as below, and I make sure my script has a command line for --ram-usage="ABCDE" and --thread-count="FGHIJ"; the logic being that these strings "ABCDE" will pass the IF criteria below, and my hardcoded values will be used...
if ARMORY_RAM_USAGE != -1: pargs.append('--ram-usage=1') #COMMENTED THIS, SO I CAN HARDCODE =1 # ' + ARMORY_RAM_USAGE) if ARMORY_THREAD_COUNT != -1 pargs.append('--thread-count=1') #COMMENTED THIS, SO I CAN HARDCODE =1 #' + ARMORY_THREAD_COUNT)
So, as usual, I use my script and start this with: ./StartArm.sh (which uses command line:)
(this forces it to use my hard-coded values in SDM.py...) So, this is the command which it reports that it starts with:
(WARNING) SDM.py:400 - Spawning DB with command: /BitcoinArmory/ArmoryDB --db-type="DB_FULL" --cookie --satoshi-datadir="/BlockChain/chain20180414/blocks" --datadir="/ArmoryDataDi" --dbdir="/ArmoryDataDidatabases" --ram-usage=1 --thread-count=1
Again, this is where it gets dangerous; Armory can gobble so much memory and CPU that the windowing environment can cease up. So I ssh to the machine and keep an eye on it with:
So, on the Debian Desktop PC, I inserted the USB stick with the watch-only wallet I exported from the Pi. Start Armory... Import "Entire Wallet File" watch-only copy. Wait 4 hours.. YAY!!! After running Armory for about 30m, the memory usage dropped by 400m... wierd... It took ~2 hours to get 40% completion. After 3.5 hours it's almost there... The memory went up to about 1.7Gb in use and 900Mb of Swap, but the machine remained fairly responsive throughout, apart from a few (10?) periods at the start, where it appeared to freeze for 10-30s at a time. (That's where my ssh session came in handy - I could check the machine was still ok with a "free -h" command) Now, I can: Create an unsigned transaction on my Desktop, Save the tx to USB stick, Move to the Pi, Sign the tx, Move back to the Desktop, Broadcast the signed tx.
My initial Mistake: This caused me to have to roll-back my Armory database, using the backup. so you should try to avoid doing this.. On the Pi, I exported only the ROOT data, which will NOT capture the watching-only part of the Private Key It is RECOMMENDED to use the Digital Export of Entire Wallet File from the Pi when making a watch-only copy. If you just export just the "ROOT data", not the "Entire Wallet File", you'll have problems if you used an imported Private Key in the offline wallet, like I did. Using the ROOT data text import, after it finished... my balance was zero. So,. I tried a Help->Rescan Balance (Restart Armory, takes 1minute to get back up and running) No Luck. Still zero balance. So, I try Rescan Databases.. This will take longer. Nah.. no luck. So, I tried again, thinking it might be to do with the fact that I imported the text "root data" stuff, instead of following the (Recommended) export of watching-wallet file. So, I used my Armory backup, and wound back the ArmoryDataDi to the point before the install of the (zero balance) wallet. (you should not need to do this, as you will hopefully use the RECOMMENDED approach of exporting the "Entire Wallet File"!)
I am completely naive when it comes to Linux, coding, compiling, etc., so I found it difficult to follow advice I found for compiling the bitcoin diamond code form git. I followed a few guides for bitcoin core first and could never get it to work. I got some help from someone that knows Linux and here's what finally worked for me with BCD. Use rufus to make bootable usb with ubuntu iso. (https://rufus.akeo.ie/) Boot from the usb and install ubuntu. Follow this guide to compile bitcoin from git: https://www.toshblocks.com/bitcoin/compile-bitcoin-source-code-ubuntu-16-04-lts/ Do the entire guide with bitcoin core to ensure everything is working. Make sure you replace "theusername" with your own each time it appears, or make "theusername" your user name from the beginning. There was one small difference, at the end of the guide to run bitcoin-qt it is ./src/qt/bitcoin-qt At the end when trying to run bitcoin-qt (./src/bitcoin-qt) it said there was no such file, which made me think that I did something wrong but you just have to find where the file is. Hey, I said I was a complete noob, go easy on me. When you repeat the procedure for BCD there will be a few small changes: git clone https://github.com/bitcoin/bitcoin.git becomes git clone https://github.com/eveybcd/BitcoinDiamond.git mkdir bitcoin/db4/ becomes mkdir BitcoinDiamond/db4/ ../dist/configure --enable-cxx --disable-shared --with-pic --prefix=/home/theusername/bitcoin/db4/ becomes ../dist/configure --enable-cxx --disable-shared --with-pic --prefix=/home/theusername/BitcoinDiamond/db4/ ./configure LDFLAGS="-L/home/theusername/bitcoin/db4/lib/" CPPFLAGS="-I/home/theusername/bitcoin/db4/include/" becomes ./configure LDFLAGS="-L/home/theusername/BitcoinDiamond/db4/lib/" CPPFLAGS="-I/home/theusername/BitcoinDiamond/db4/include/" when you get to this line: [email protected]:~/BitcoinDiamond$ ./autogen.sh I got the following error: bash: ./autogen.sh: Permission denied this command will show some information about autogen.sh [email protected]:~/BitcoinDiamond$ ls -l autogen.sh -rw-rw-r-- 1 mmmmm mmmmm 527 Dec 30 21:26 autogen.sh same command comparing it to the bitcoin core version of autogen.sh $ ls -l ../bitcoin/autogen.sh -rwxrwxr-x 1 mmmmm mmmmm 527 Dec 30 21:03 ../bitcoin/autogen.sh do this to make them the same [email protected]:~/BitcoinDiamond$ chmod a+x autogen.sh recheck autogen.sh and it should match the bitcoin core autogen.sh now [email protected]:~/BitcoinDiamond$ ls -l autogen.sh -rwxrwxr-x 1 mmmmm mmmmm 527 Dec 30 21:26 autogen.sh continue on [email protected]:~/BitcoinDiamond$ ./autogen.sh [email protected]:~/BitcoinDiamond$ ./configure LDFLAGS="-L/home/mmmmm/BitcoinDiamond/db4/lib/" CPPFLAGS="-I/home/mmmmm/BitcoinDiamond/db4/include/" [email protected]:~/BitcoinDiamond$ make -s -j5 It will work a while and then you'll get the following error, among others: /bin/bash: ../share/genbuild.sh: Permission denied It's the same error as with autogen.sh, so find it and fix it by the following: [email protected]:~/BitcoinDiamond$ find . -name genbuild.sh ./share/genbuild.sh [email protected]:~/BitcoinDiamond$ chmod a+x ./share/genbuild.sh continue on by restarting make [email protected]:~/BitcoinDiamond$ make -s -j5 It should be good! go to and run bitcoin-qt to start the gui [email protected]:~/BitcoinDiamond/src$ cd qt [email protected]:~/BitcoinDiamond/src/qt$ ./bitcoin-qt bitcoin-wt will spend some hours syncing the entire blockchain so you have to wait. When it is finished, import private keys by: clicking in the "Bitcoin Core - Wallet" window to make it active hover mouse in top left of the grey bar on the top of the deskto screen, not the "Bitcoin Core - Wallet" until it says "file settings help" click on "help" click on "Debug Window" click on the "Console" tab enter "importprivkey 5KJvsngHeMpm884wtkJNzQGaCErckhHJBGFsvd3VyK5qMZXj3hS" with your own key make an account at gate.io where they are allowing deposits sell!, or don't, maybe you're nuts, who am I to judge
Hello, This post is to give you a quick introduction into Bitcoin security. While nobody can guarantee you 100% security, I hope to mitigate some problems you can run into. This is the “20% of effort to get you to 80% safe”. First of all, you have to determine how much money you want to hold in Bitcoin and how much effort are you willing to put in. If you are happy just holding a few dollars worth and don’t care if you lose them, that’s one approach to take. For everyone else, lets get started. Password strength A lot of the times how secure your money is will be determined by the strength of your password. Since in the worst case scenario we are talking about someone trying to brute force your wallet, casual online passwords are too weak. Under 10 characters is too weak. Common words and phrases are too weak. Adding one number to a password at the end is too weak. Moreover, you can consider your password much weaker if you:
use it for multiple online logins (especially if the site could’ve been hacked)
use a common phrase or words (song lyrics are bad)
If you want a really strong password:
Use a trusted website that creates a set of random words offline. For example, CarbonWallet. Go to that website, unplug your Internet, hit random button a few times, write down 10+ of these words, restart your computer, memorize them, destroy the paper once your done. This should make your password pretty strong.
If you are extra paranoid, you have to get creative. Do something with your password that you can remember - maybe add some numbers at the end, do some substitutions, capitalize some letters and so forth. As long as you are not removing words or changing unique words for more common ones, personalizing or extending your password can add more security.
Wallet security Now we are getting to the meat of things. There are a number of wallets available to store your hard earned bitcoins. If you have a decent amount of coins to store, you should look into software wallets - BitcoinQT, MultiBit, Armory or Electrum. They are among the best place to store your money safely (provided your computer is secure as well). Chose one you think best suits you, install it and encrypt your wallet file with your strong password. You should take your wallet file and back it up (location of the file is different for different clients, so you have to do some research as to where to find that file). Back it up on a CD, safe USB drive or the like. Keep them safe. If you lose that file, you will lose your money. A quick word on deterministic wallets. Electrum and Armory allow you to create wallets from a seed. If you use the same seed later, you can recreate your wallet on other machines. With deterministic wallets, you only need to keep that seed secure to have access to your money. In comparison, in BitcoinQT's traditional wallet, every address you use is random, meaning that after you send 50-100 outgoing transactions your backups can be obsolete. Always keep an up-to-date backup of such wallet file if possible. Okay, sometimes you need to have your Bitcoins with you when you leave your computer. In this case, you should look into either online or mobile wallets. A staple for both of those is Blockchain.info, but there are others to chose from. A good rule of thumb with these is to not store more money in them than you can afford to lose. They are best used as a convenient way of accessing some money, not storing your savings. Online wallets are especially vulnerable to their servers getting hacked and people’s money getting stolen. What to keep in mind while using online wallets:
Use a secure password (the more money you have in them the stronger the password should be)
Always keep a backup of your wallet in case you need to recover your money
Whenever possible, enable two factor authentication
Don’t use your online wallets from unsafe computers
Cold storage Sometimes you want to store your bitcoins for a long time in a safe place. This is called “cold storage”. There are a few ways one can do this. First of all, paper wallets. They are nice for giving people small bitcoin gifts, but also for long-term storage if properly used. What you want to do is generate and print them offline. You can save the linked page for example and run that offline. If you are really paranoid, you can put it on read-only media and access that from a different computer. For really long term storage, use archival-grade paper. Another approach to take is using a separate computer for storing your money that is offline 99+% of the time. You could set one up easily by buying an old laptop, reformatting it, installing Linux and a Bitcoin client. Generate an address on that machine and send money to it from your main wallet. Depending on how paranoid you are you can connect that computer to the Internet afterwards to synchronize data with the Bitcoin Network and then turn it off and put it away somewhere safe until it’s needed. Brain wallets Don’t. They are not for you. Unless you are a security-conscientious programmer, those are not for you. Diversifying Keeping all of your eggs in one basket is never a good thing. You should look into diversifying some of your Bitcoin assets in case your other storage methods fail. Some ways you can diversify:
Buy a physical Bitcoin. As long as you trust the coin creator such coins can be an effective cold storage
Invest - I wouldn’t recommend this for more than some trivial amount unless you know what you are doing, but investing in some Bitcoin stocks could be a way to get more money out of your bitcoins
How not to diversify:
Avoid keeping your bitcoins at exchanges or other online sites that are not your online wallets. Such sites can be closed down or disappear along with your money.
Alt-coins - there are few cryptocurrencies that are worthwhile, but most of them are just Bitcoin clones. If a currency brings nothing new, it’s worthless in comparison to Bitcoin. Namecoin is a distributed domain name server (although recently it had a fatal flaw uncovered, so be warned), Ripple is a distributed currency exchange and payment system. Litecoin will only be useful in case Bitcoin’s hashing algorithm gets compromised (very unlikely at this time). Beyond that there are few if any alt-coins that are a worthwhile way of diversifying.
Accepting payments and safety We’ve covered safe ways to store money, now a quick note about bitcoin payments and their safety. First of all, when you are sending a transaction, pay your fees. Transactions without fees can take forever to propagate, confirm and clear. This can cause you a lot of stress, so pay your fees. Secondly, when accepting large Bitcoin payments (say you want to suddenly cash in a gold bar into bitcoins), wait for at the very least 1 confirmation on those transactions. 6 is best, but having even 1 confirmations is a lot better than having none. This is mainly a rule of thumb for the paranoid (I wouldn’t be doing this for most casual transaction), but maybe it will save you if you are dealing with some shady people. Wrapping up... That should cover the basics. If you want to read more about Bitcoin’s security in general, here is my master thesis on the subject. A lot of questions about Bitcoin and security have also been answered on Bitcoin StackExchange - be sure to check it out. Comments and improvement suggestions welcome. EDITS:
I am currently trying to set up blackoin on raspberry. Community members asked for a tutorial to compile it, so I will start with this here. Maybe in the future it would even be possible to turn it into a headless (=without screen and keyboard) image to put on an SD card and just boot up the wallet. I used the latest Blackcoin Lore by janko33 for this process, however it should be quite the same with the "original" core wallet by rat4/johndolittle. Blackcoin Lore is not deemed as stable as it is still in beta, so it's up to you what source tree you take. Please be also aware, that compiling on a small computer like raspi can take a while. Please also note that Lore is still in beta. The names in the archive are still "bitcoin". There is an update comming where the naming is correct and also maybe a few bugfixes. ** Tutorial: ** You first need to get raspbian. The lite image will work, it's a small version of the operating system without a graphical interface, so you will need ssh to operate it. The image is 294 MB but you will want to have a bigger card. 2GB is certainly too small, better get 16 or even 32GB - you also will need space for the blockchain! To install it I followed this guide https://hackernoon.com/raspberry-pi-headless-install-462ccabd75d0 Get the raspdian image file from: https://www.raspberrypi.org/downloads/raspbian/ Also get Etcher from https://etcher.io/ Etcher is a tool to write img files to an SD card/USB-stick. After writing, open the card in your explorer and add a file "ssh". The file sould be empty and just be called "ssh" (not ssh.txt or something). It will tell raspi to activate ssh on boot. Then boot up your raspi with the card and plug it into your network. Consult your router's LAN-page to find the device, it should register to your router as "raspberry" or so. Open up Putty and login to your raspi using pi as username and raspberry as password. After login you can configure your raspi, please read the guide linked above for more details. Note: One important thing that you should configure is your timezone! Use
Go to 4. Localisation Options and set the time to your timezone. If your time is way off, you would get troubles with staking, so make sure you always have the time set right! After you got everything set up, get the build environment ready:
sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils #Installs alot and can take a while git clone -b Blackcoin-Lore https://github.com/janko33bd/bitcoin Blackcoin-Lore cd Blackcoin-Lore cd depends make -j 6 HOST=arm-linux-gnueabihf cd .. ./autogen.sh ./configure --prefix=`pwd`/depends/arm-linux-gnueabihf
# note: ` = is a "backtick" not an apostroph. It causes the outpupt of "pwd" being inserted there
make -j 6 # -j n tells the compiler to use more cores, speeds that up a little (n = 1.5*cores installed) sudo make install
This should compile so far. Update: Lore does not need Berkeley DB 4.8 to be installed, so just go with the DB provided by the repository works (libdb++-dev). (Thanks patcrypt) After compile you can run the wallet with
And after it synced you have bitcoin-cli to control the wallet. Issue: Synching blocks takes an awfully long time on raspi for some reason, even with Lore (that syncs blocks in a few hours instead of a whole day on a normal computer). If anyone knows how to speed up that process, please let us know! This thread is a WiP. Please post all issues and errors here, I will then edit the OP to make it into a real, working tutorial. On a note it was mentioned, that using an USB-stick here instead of a card would make sense since the cards are more prone to failure than USB-sticks. I will include setting it up on USB in a later version of this tutorial. Some tips and tricks Since compiling takes a longer time, it is recommented to run it in the console in a screen. Screen is a terminal tool that supports multiple windows in the same shell and, most important, detaches when your ssh connection breaks. Using screen you can simply reconnect and use screen -r to attach to your running shell again. To use screen, you need to install and then start it before you start the whole build process within a screen-shell.
sudo apt-get install screen screen #Start install/build process here #Type [ctrl-a] [d] to detach from the screen and put it in the background #After reconnect type screen -r to jump back into your running shell
If you want to see your blocks being processed while the wallet syncs to the network, use the following command on a second shell (new Putty instance or screen window which you can open in screen with [ctrl-a] [c] (hit [ctrl-a] [n] to cycle through the windows in screen)
watch -n 5 lore-cli getinfo #This will execute the command "bitcoin-cli getinfo" every 5 seconds and thus display live update of your wallet info
How to use that thing? Here are a few helpful CLI commands, call them with lore-cli
help - Returns available commands help - Returns detailed help to a getinfo - Returns a descriptive information of your wallet, including balance getwalletinfo - Returns short information about your wallet, including balance, unconfirmed balance, immature balance, number of tx ect getaccountaddress 'raspi' - Returns an address for your wallet. If the account does not need to exist, it will be created with new address sendtoaddress - Sends to sendtoaddress substractfeefromaccount - Sends minus tx fee to getnewaddress - Returns a new address for each time you call the command. is optional
Further plans for this tutorial/project
Install on USB with a small boot image on SD
Planned: Web GUI to control your wallet easily from your local network
Have fun! Donations: B4nn2Y3SFC6whNGNvcQ2MvV1aQbZp3cZVF
A guide to sign a super bitcoin (SBTC) transaction offline with patched Electrum for paranoid. Supports any wallets supported by Electrum (including segwit-p2sh and bech32 and all BIP39 seeds). Later BCD will be added.
This is quite advanced. This guide assumes you have some basic experience with the command line, can run Linux and you understand the basics of keys/signing/broadcasting transactions. And that you can compile and run Bitcoin Core and run Electrum. Also, some JSON experience is also nice. Move you bitcoins to safe addresses first. It is best to use a new seed. Although the procedure in this guide is safe even for hot addresses (containing bitcoins), there is always a risk of a critical mistake. So play it safe. Why such a guide? I followed these steps because I did not want to expose the keys to any online machine at all. Even if the keys do not have any bitcoins, you can some day have bitcoins sent to these addresses or you have a fork that you have not claimed. All can be stolen if you exposed your key. This procedure should work with everything that Electrum supports (except maybe F2A that may be not supported on the SBTC chain), so Electrum seed legacy or segwit, LedgeTrezor with legacy or segiwt-p2sh (m/'49) derivation. Similarly, any BIP39 seeds or a single key. are also fine.
Apply my patch patch -P0 also this article. The guide assumes that you use patched Electrum from now on.
Run the patched Electrum and catch up with your wallets you want to claim (the wallets can and rather should be watch only, or on ledgetrezor, otherwise your keys are exposed). Now go offline or set localhost as your server that Electrum connects to so no connection is performed. It's required so Electrum will not update the wallet after you edit it.
You can manually create a transaction from the command line but you can use Electrum GUI. You need to locate the wallet file and remove all the transactions from the wallet file except for the one that funds the address you want to claim (the wallet obviously must not be encrypted but for watch-only this is OK). This is tricky. You need to make sure, you gave a proper JSON file, so all the final commas must be dropped. So "addr_history":, "transactions": , "tx_fees":, "txi", "txo", and "verified_tx3": should only contain the funding transaction(s), i.e. the one that you want to spend from.
Run Electrum and check if the wallet is OK. Electrum will show an error if not. You will probably make a few errors so go back to editing the wallet.
Compile it and let it sync the blockchain (it will take a long time). Run it it with as large -dbcache= as you can. If you have a Bitcoin blockchain you can copy the blocks up to the fork date and issue sbtcd with -reindex. It will just reindex them and it will be faster.
Generate a sbtc address with sbtc-cli getnewaddress. You can skip this step and send directly to an exchange but this intermediate step is safer.
Create a transaction in Electrum to this address. Select all the bitcoins and use as small fee as possible (SBTC blocks are empty so any fee above 1 SBTCsat/byte should be OK).
Save the transaction to a pendrive
Download and install Kubuntu 16.04 (Kubuntu has all the QT libraries for Electrum) on a pen drive.
Copy patched Electrum and the save the transaction to a pen drive (separate from Kubuntu will be more convenient).
Run Kubuntu from the USB without any network access. Run Electrum from the pendrive. Create a wallet from the seed or private keys. The wallets are stored in RAM so after you reboot the computer, they will be gone. Load the transaction, sign it and save it to the pen drive.
Go back to the SBTC Core on the online machine. Display the raw transaction (starts with the hex=). Check in the SBTC Core if it is correct sbtc-cli decoderawtransaction hex
If it looks fine (and your blockchain got synced), broadcast it sbtc-cli sendrawtransaction hex
If there is no error, congratulations, you sent the transaction to the specified address. If it is to your SBTC Core wallet, wait until it confirms and send it further with sbtc-cli setfee feeperkb sbtc-cli sendtoaddress "addr" value "" "" true true I'm going to update this guide when I figure out the BCD transactions intrinsics. You can download and run the BitcoinDiamond Core clone in the meantime. SBTC tips: 1KjuY8CTrwMhdLt3uF3hCcSgfkHMyo1ELf
Cold Storage Without staking, you can still store QTUM private keys offline. (I'm assuming some of this from my experience with Bitcoin and Ethereum. Some of the following statements could be inaccurate)
Airgap PC: This is a PC that will never connect to the Internet. Private keys can be generated here and remain here or be printed and this machine's memory can be destroyed. ($10 Raspberry Pi micro SD can be destroyed after printing if you want).
USB - what are the minimum fields needed to keep value in cold storage? Is there a just a private key or seed to copy or do we have to create a custom password protected wallet backup and back that up?
Paper wallet - Need a tutorial on how to store QTUM on a paper wallet. What are the minimum required fields? What are the steps to restore and transfer QTUM from a paper wallet next year or 5 years from now?
Hardware Wallet: offline, not staking, similar to keeping QTUM keys on airgap, USB, or paper wallet. For hardware wallets not compatible, what if we use the password manager feature and just store the keys in the hardware wallet, but not have hot wallet features? Which keys do we store?
Cloud drives: Encrypt keys and copy encrypted backups to multiple cloud drives. Not my style, but curious how to do this with QTUM. Similar to what some do with Bitcoin or Ethereum private keys today.
Let's Decentralise the World and Make World Crypto Network a Distributed Autonomous Organisation
Decentralise the World
EDIT 2014-08-01 See also pierebel0Seed the Chain Please read this carefully and be forthcoming with your views. It’s important to the future of World Crypto Network. As many of you may know pierebel0 (Nick) and I have been working on an idea and since then we have been putting together diagrams and a plan. Basically we want to get open source software to regions of the world that have poor internet connectivity and are in need of most financial innovation. This would be like an airdrop of items including:
full copy of the latest Bitcoin blockchain
bootstrapped QT Wallet with Bitcoin Armory
a range of thin wallets like Multibit on USB Sticks
Skyhook ATM optional
and some revamped laptops with Linux distros installed
Nick's initial idea was to produce a list of villages and towns ranked by bandwidth and we would then give each place a Bitcoin donation address. We could use a map of the world using the open source CoinMap. A page on the World Crypto Net website called Join the Revolution. Members of the audience, hosts of the show and any willing participants in the global campaign can sign up and put themselves on the map. We could then setup a Bitcoin Wallet in Armory and assign a Bitcoin address for every viable village and town in the world. Our audience will be invited to vote on which town or village they wanted as to do an Open Source Airdrop on by sending bitcoins to that address. Each donation would be like a vote. We would set targets on each location based on the most cost effective way of delivering it and then let the market decide what order we should go in. We would probably want to weight it to regions that had the most potential to benefit from the project.
World Crypto Network as a DAO (Distributed Autonomous Organisation)
Now the next question that came up is how to handle the funds responsibly? Up until now people have just trusted Thom and I and sent us money. But if we are going to practice what we preach in this brave new community then what better opportunity to try out a DAO. Recently I reinstalled Bitcoin Armory to try out the new Multisig and multipart paper backup features and I suggest the following process for discussion:
Live Town Hall meeting on Youtube with plenty of advance warning with members of our audience who have followed us up until now to discuss the election process of 7 people who will be custodians of Bitcoin Armory Wallet.
Key decisions will be things like: * How the election should take place? * Using the block chain as a clock on which Bitcoin Block should it commence? e.g. the election takes place at block height #312,020 Once elected each person is given a number at random.
A custodian of the funds is selected at random using the first number in the Bitcoin nonce at block #312,017 between 1 and 7. This way none of the elected 7 will know if they are going to be in charge. This should filter out any power hungry psychopaths as mostly they want control right now and not leave it to chance. We want any would be dictator to self-deselect themselves from this process.
That custodian then produces an Armory wallet consisting of a 5 of 7 paper backup. Each elected member is given one each and the custodian keeps the master copy. In order for the wallet to be restored and funds to be spendable you would need 5 people out of the seven to collude or join together in protest against the custodian.
Everyone, the audience and elected 7 included are encouraged to publish their raw public keys (in hex, not the normal address) so that we can create ad hoc multi-sig wallets with one another on a project by project basis. I would also like to include the ability for the audience to become hosts and participants and even allow them to seize the funds by co-operating with members of the elected 7. This would mean dividing up 1 of the 7 root keys in to smaller junks like with a multiple encrypted zip file or something.
Thoughts and things to consider:
What I particularly like about splitting up the keys is that we could even engineer it to make sure that no more than 2 members of staff are elected per country. That way no single authority could shut down the World Crypto Network. It’s also important to note that the elected staff and random custodian are just admin staff. Everyone’s a leader at WCN and the role of the people at the top is to give the people at the bottom everything they need to get their job done. All the custodian is doing it making sure the web hosting is paid for and that the donations get sent to the right people. Individuals within the organisation are still responsible for their own projects and fundraising. None of the elected 7 can stop you from soliciting money for your hard work. But they might come in handy if you want to set up a project for a 3rd party like Let’s get Nepal on a Meshnet and you would like to setup a 2 of 3 multisig wallet of which one of them could be the custodian. This would lend you credibility when you market your project and make people more likely to donate. We could also not bother with the initial election and just self appoint the first 7 people and just rotate the duties every 15,000 blocks. Also Thornbreaker (Jamie Nelson) mentioned that we should come up with a manifesto. I think this is a good idea and we could do it on Github or a Wiki. Thank-you for your time, I look forward to your reading thoughts.
How I started running a v.15.0 node for less than 60 USD. (Less than any raspberry pi setup I have seen.)
Hey, I want to share this easy way to start a full-time node. I chose to run a full-time node on an independent device for security, and because my laptop is not on a wired connection enough to benefit the network. Also, I felt the need to better understand the role nodes play in Bitcoin security, and how they operate. So I decided to actually explore the technology, and familiarize myself with some of the basics by setting up a Bitcoin Core v.15.0 full node.
Once syncing is complete check to see that more than 8 connections establish after a few minutes running. Greater than 8 means you have in-bound connections that allows you to serve historic blocks to other nodes, and other necessary communications for a full-node. You can also just check to see if port 8333 is open.
I will admit, I had some problems opening the qt file after extracting it. Not sure if I was missing something or Lubuntu was missing something. Regardless, I just compiled it in command line without any problems.
This will be a guide on how to create a Litecoin wallet. I will try to make this as noob friendly as possible. The wallet we will be using will be the Litecoin-qt wallet. This wallet is made by the Litecoin dev team and is pretty much the same thing as the Bitcoin-qt wallet except for Litecoins. This is a local wallet that will reside on your computer and not online. Having a wallet on your computer is the best way to store your coins. You dont have to put trust in anyone else to keep your coins safe. Almost every online Bitcoin wallet has been hacked leading to user funds being stolen. NEVER, EVER, EVER trust anyone to hold your coins except yourself. That being said by storing your own coins you do have to take some precautions to keep them safe. I will instruct you on how to encrypt your wallet but there are still better ways to lock your wallet down. I will write another tutorial on this subject at at a later time. So to start you need to download the Litecoin wallet. You get this from https://litecoin.org/ONLY DOWNLOAD THE LITECOIN WALLET FROM THIS ADDRESS. If you download it from anywhere else it could be corrupted and you could have your coins stolen. https://litecoin.org/ is the website run by the Litecoin dev team. On the main page you will see links to download Windows, MAC, and Linux versions of the wallet. Download whichever one corresponds to the OS you use. I will assume Windows for this guide but for using a Mac you should install it like you do any other application. Once you download it open the file and follow the prompts clicking next etc. Once you are finished open up the Litecoin client. It should have put an icon on your desktop. Once you open it up you will see the Litecoin-qt client. It might take a few seconds to load. At the bottom you should see a bar with "Synchronizing with network" next to it. This means that the client is downloading all of the blocks in the blockchain. It will take a while to download all of the blocks (about 2.5GB worth) the first time. After the first time when you open the client it will only download the blocks that have been created since last time you used the client. When it is finished you will see the bar disappear and there will be a green check mark in the bottom right hand corner. While we are at the bottom right hand corner if you hover your mouse over the signal bar looking icon it will tell you how many connections you have to the Litecoin network. So if for some reason you are not downloading any blocks then check this to make sure you are connected to the network. To encrypt your wallet At the top click Settings > Encrypt Wallet. Follow the prompt entering your password and make it a good one. After you encrypt your wallet you will see a padlock at the bottom right next to where the green check and the signal bars are. WARNING IF YOU LOSE OR FORGET YOUR PASSWORD YOUR COINS ARE GONE FOREVER!!! Now to send coins you click the send button and you enter the address, amount, and if you want to label the trans you do can do that also. Then you click send. You will have to enter your password if your wallet is encrypted. To receive coins click the receive button. You will already have one address there. You can give this address to anyone or enter it in any service and you will receive coins to this wallet. If you want to make a separate address you click new address and give it a label and it will create a new address for you. If you click the transactions tab you will see all of the transactions you have made both sending and receiving. If you hover over the box to the left of the date/time of the transaction you will see how many confirms it has. Backing up your wallet The Litecoin-qt client while called a wallet by some isnt really a wallet. Its a client used to access your wallet. The actual wallet is a file called a wallet.dat. This file has the public and private keys that let you spend your coins. (More on this in another topic). If you want to backup your wallet (YOU SHOULD) then you simply need to copy this wallet.dat file onto something else like a USB flash drive. I suggest making several copies and putting at least one off site from your computer like at a family members house or in a safety deposit box. Make sure when you do this that you COPY the file and NOT move it.
Seeding the Chain Some of us over at /worldcryptonetwork have been organizing a campaign to physically distribute the bitcoin blockchain around the globe. We would like your feedback and suggestions. The first locations we are looking at are places where there is just enough bandwidth to support daily updates and where no full node is currently participating on the network. We've already been contacted by PissedofffromNepal who is willing to work with us and interest has been coming in from South America, Ghana and Thailand. For this first iteration we're going to start small, some Linux live drives with full node capabilities and a Raspberry Pi running the full node. Let us hope we can snowball this into something that can eventually offer more. We want your feedback and suggestions So please comment below if you have anything that thing should be added to the suite or the videos and documents section.
Why is installing peercoin qt in linux live session so hard?
Hi, I'm trying to do a USB Live Session fresh install on my OSX comp, using ubuntu 12.04. I want to install the peercoin client offline to generate an offline wallet which can then be encrypted and moved to a USB key, and later imported to peercoin on my Mac when I want to spend the coins. My question is whether or not I have to connect to the Internet in the liveUSB to actually do this successfully? Because I'm having an amazing amount of trouble doing this (nights and nights of frustration) when I'm not connecting to the internet. In general I don't think that I'm technically disinclined, but this is absolutely stumped me. I'll outline my steps that I've done so far. 1- I've made the USB system and can boot no problem. I always choose to "test ubuntu without installing" since when I tried installing it wanted to overwrite my OSX 2- I unpack the tar.gz and I can't actually follow the install instructions coming with Peercoin (ppcoin-0.3.0-linux.tar.gz is the file I downloaded) below:
First, make sure that the required packages for Qt4 development of your distribution are installed, for Debian and Ubuntu these are: apt-get install qt4-qmake libqt4-dev build-essential libboost-dev libboost-system-dev \ libboost-filesystem-dev libboost-program-options-dev libboost-thread-dev \ libssl-dev libdb4.8++-dev then execute the following: qmake make Alternatively, install Qt Creator and open the `bitcoin-qt.pro` file.
I cant install the required packages in order to unpack everything. All of the threads I read about detail steps AFTER installing, so it seems like I just am braindead and can't even get to the point others start to have difficulty. I also cannot install a QT creator, which the system suggests I try to do to create a graphical user interface. I've also followed the instructions here, as to how to install QT creator, but to absolutely no avail. The command line either says there is no file, or nothing happens. I followed the instructions here, as to how to unpack a file with a .bin extension but when I do that nothing happens either. I guess my question is, why is this so hard for me? Everything that I read suggest that the best kind of off-line wallet is done on a system that is never connected to the Internet. But if I can't install anything without connecting to the Internet, how can I get to the point where I can even generate a Wallet? This link on github suggests I should be connected to the internet Is anybody aware of an ultra descriptive linux/ubuntu 12.04 fresh install set of instructions? Something like this I think would be incredibly valuable to the community, and if I ever figure it out on my own, I will absolutely make it. I feel like this is limiting me from getting completely set up with peercoin. I can just generate private keys offline (I think, honestly I haven't tried running the html files I've downloaded because I'm fighting with ubuntu (bitaddress.org, brainwallet.org, etc)). But since I am using OS X, there doesn't appear for me to be any way to actually import a generated private key/address at this point into the OSX peercoin client to generate a new wallet. Is there? Any help is very very appreciated, thanks very much. Also, should I double post this at peercointalk.org? I'm more familiar with Reddit :) *edit 1 - fixed formatting
Seeding the Chain Some of us over at /worldcryptonetwork have been organizing a campaign to physically distribute the bitcoin blockchain around the globe. We would like your feedback and suggestions. The first locations we are looking at are places where there is just enough bandwidth to support daily updates and where no full node is currently participating on the network. We've already been contacted by PissedofffromNepal who is willing to work with us and interest has been coming in from South America, Ghana and Thailand. For this first iteration we're going to start small, some Linux live drives with full node capabilities and a Raspberry Pi running the full node. Let us hope we can snowball this into something that can eventually offer more. We want your feedback and suggestions So please comment below if you have anything that thing should be added to the suite or the videos and documents section.
Linux . By default Bitcoin will put its data here: ~/.bitcoin/ You need to do a "ls -a" to see directories that start with a dot. If that's not it, you can do a search like this: find / -name wallet.dat -print 2>/dev/null Mac . By default Bitcoin will put its data here: ~/Library/Application Support/Bitcoin/ Directory Contents Files . An overview of these is in files.md in the Bitcoin Core ... The objective is to download, verify and install Electrum Bitcoin wallet on Ubuntu 18.04 Bionic Beaver Linux Desktop Operating System and Software Versions. Operating System: - Ubuntu 18.04 Bionic Beaver; Software: - Electrum 3.0.6 or higher; Requirements Privileged access to your Ubuntu System as root or via sudo command is required. Difficulty EASY Conventions # - requires given linux ... I want you to learn Linux, and I want Bitcoin to motivate you to switch. This will be as much a “Linux for Dummies” guide as it is a guide to setting up a Bitcoin node. If you already know a ... Bitcoin Core is a community-driven free software project, released under the MIT license. Verify release signatures Download torrent Source code Show version history. Bitcoin Core Release Signing Keys v0.8.6 - 0.9.2.1 v0.9.3 - 0.10.2 v0.11.0+ Or choose your operating system. Windows exe - zip. Mac OS X dmg - tar.gz. Linux (tgz) 64 bit. ARM Linux 64 bit - 32 bit. Linux (Snap Store) Support ... “sudo apt-get install bitcoin-qt” Press ‘y’ and Press <Enter>, the installation should start. It will take a few seconds to install. Once it’s installed, click on “Show Applications” icon and you should see Bitcoin Core icon on the Applications list. Now click on Bitcoin Core to start it. You should be greeted with the following window. Its asking where it should save your wallet ...
How to install Bitcoin Core wallet in any Linux distribution
sudo add-apt-repository ppa:bitcoin/bitcoin sudo apt-get update sudo apt-get install bitcoin-qt bitcoind Linux terminal new stuff: clear, ll, cd, touch, echo, cat, shutdown www.bitcoinhackers.org How to install ASICMiner Block Erupter CGMINER USB Setup/ Tutorial Ubuntu. How to install the QT Wallet - GNU/Linux Version - Ubuntu 16.04 - Duration: 8:11. ... Bitcoin using Linux boot USB and secondary for a cold storage wallet - Duration: 6:20. eclectic universalas ... Short tutorial on how to install the Bitcoin Core wallet on Linux. http://teklordz.net. Get Bitcoin Wallet In Linux Mint ( Ubuntu ), No Installation Required - Duration: 5:11. linuxforever ... Electrum on Puppy Linux - Offline Bitcoin Wallet on USB - Duration: 6:52. Vedran 2,321 ...