Building the Armory Bitcoin client for the ... - GitHub

[Reupload][Tutorial] Install Armory Wallet 0.96.4 on Fedora Workstation 29

note: I had to reupload this because reddit is banning my original account for no reason. I appealed but I thought maybe someone wanted to have this content online.
Armory is a very cool open source bitcoin wallet for the power user. You can do neat things with it, read here: https://www.bitcoinarmory.com/
Disclaimer: follow these steps at your own risk. I am not responsible for any damage / loss of funds you might face for following or not following correctly my instructions here. I may have made a typo somewhere or be wrong so do your own research and learn for yourself what I am doing at each step, and what consequences may have for you, at your own risk. These instructions may be wrong somewhere. It worked for me, it doesn't mean it has to work for you.
Requirements for this tutorial:
We are going to build the code from source.
Install dependencies.
I followed these instructions to find the equivalent Fedora packages:
Open the terminal app and run this command:
sudo dnf install git nano qt qt-devel python-devel libtool pyqt4 pyqt4-devel lmdb swig 
And more python packages that I had to install:
sudo pip install twisted qt4reactor psutil 
Importing the signing key to verify the software
Install KGPG to easily manage keys.
sudo dnf install kgpg 
Go to
https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x8C5211764922589A
and copy paste the code below the title from
-----BEGIN PGP PUBLIC KEY BLOCK-----
to
-----END PGP PUBLIC KEY BLOCK-----
both included. Then open KGPG from terminal with
kgpg -k 
and click 'Import Key...' > Clipboard > Ok . You should see a confirmation message. Double check the info and close the dialog.
Repeat the process with this other key:
https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xA4FC919E85C595BA
You can verify both keys are mentioned at the Armory webpage.
Clone and compile the code plus some edits
Before, we installed some dependencies that are named differently than the equivalent Ubuntu/Debian package specified at the Armory documentation. The build process fails for Fedora as the name for the dependency during checks won't match the Fedora version. There's this pull request addressing that, but the code is not part of any release yet.
So the fastest workaround (maybe a bit dirty) was to edit the build config file and correct the name for my Fedora install. Let's begin.
Clone the Armory repository
git clone https://github.com/goatpig/BitcoinArmory.git 
Enter the BitcoinArmory dir
cd BitcoinArmory 
Switch to release code
git checkout 'v0.96.4' 
Verify commit signature
git tag -v 'v0.96.4' 
you should see the following message:
> object fee1f91a3137ef1056e15cc606a186b0e508f84c > type commit > tag v0.96.4 > tagger goatpig  1522530739 +0200 > > v0.96.4 > gpg: Signature made Sat 31 Mar 2018 11:12:19 PM CEST > gpg: using RSA key 8C5211764922589A > gpg: Good signature from "goatpig (Offline signing key for Armory releases) " > gpg: WARNING: This key is not certified with a trusted signature! > gpg: There is no indication that the signature belongs to the owner. > Primary key fingerprint: 745D 707F BA53 968B DF63 AA8D 8C52 1176 4922 589A 
if it looks the same, everything is ok.
Edit the file 'Makefile' file with
gedit Makefile 
And click the three dot menu > Find and Replace...
Configure the options as follows:
https://i.imgur.com/hpS01Kd.png
Click Replace All and close.
Go back to the terminal and run the following commands in order from inside the BitcoinArmory dir. Wait for the previous one to finish before running the next one:
./autogen.sh 
...
./configure 
...
make 
if everything finishes without error you are all done! Run this to start Armory:
python ./ArmoryQt.py 
you are all set. Please let me know if I missed something.
submitted by RedditShadowbangedMe to Bitcoin [link] [comments]

[Tutorial] Install Armory Wallet 0.96.4 on Fedora Workstation 29

Armory is a very cool open source bitcoin wallet for the power user. You can do neat things with it, read here: https://www.bitcoinarmory.com/
Disclaimer: follow these steps at your own risk. I am not responsible for any damage / loss of funds you might face for following or not following correctly my instructions here. I may have made a typo somewhere or be wrong so do your own research and learn for yourself what I am doing at each step, and what consequences may have for you, at your own risk. These instructions may be wrong somewhere. It worked for me, it doesn't mean it has to work for you.
Requirements for this tutorial:
We are going to build the code from source.
Install dependencies.
I followed these instructions to find the equivalent Fedora packages:
Open the terminal app and run this command:
sudo dnf install git nano qt qt-devel python-devel libtool pyqt4 pyqt4-devel lmdb swig 
And more python packages that I had to install:
sudo pip install twisted qt4reactor psutil 
Importing the signing key to verify the software
Install KGPG to easily manage keys.
sudo dnf install kgpg 
Go to
https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x8C5211764922589A
and copy paste the code below the title from
-----BEGIN PGP PUBLIC KEY BLOCK-----
to
-----END PGP PUBLIC KEY BLOCK-----
both included. Then open KGPG from terminal with
kgpg -k 
and click 'Import Key...' > Clipboard > Ok . You should see a confirmation message. Double check the info and close the dialog.
Repeat the process with this other key:
https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xA4FC919E85C595BA
You can verify both keys are mentioned at the Armory webpage.
Clone and compile the code plus some edits
Before, we installed some dependencies that are named differently than the equivalent Ubuntu/Debian package specified at the Armory documentation. The build process fails for Fedora as the name for the dependency during checks won't match the Fedora version. There's this pull request addressing that, but the code is not part of any release yet.
So the fastest workaround (maybe a bit dirty) was to edit the build config file and correct the name for my Fedora install. Let's begin.
Clone the Armory repository
git clone https://github.com/goatpig/BitcoinArmory.git 
Enter the BitcoinArmory dir
cd BitcoinArmory 
Switch to release code
git checkout 'v0.96.4' 
Verify commit signature
git tag -v 'v0.96.4' 
you should see the following message:
> object fee1f91a3137ef1056e15cc606a186b0e508f84c > type commit > tag v0.96.4 > tagger goatpig  1522530739 +0200 > > v0.96.4 > gpg: Signature made Sat 31 Mar 2018 11:12:19 PM CEST > gpg: using RSA key 8C5211764922589A > gpg: Good signature from "goatpig (Offline signing key for Armory releases) " > gpg: WARNING: This key is not certified with a trusted signature! > gpg: There is no indication that the signature belongs to the owner. > Primary key fingerprint: 745D 707F BA53 968B DF63 AA8D 8C52 1176 4922 589A 
if it looks the same, everything is ok.
Edit the file 'Makefile' file with
gedit Makefile 
And click the three dot menu > Find and Replace...
Configure the options as follows:
https://i.imgur.com/hpS01Kd.png
Click Replace All and close.
Go back to the terminal and run the following commands in order from inside the BitcoinArmory dir. Wait for the previous one to finish before running the next one:
./autogen.sh 
...
./configure 
...
make 
if everything finishes without error you are all done! Run this to start Armory:
python ./ArmoryQt.py 
you are all set. Please let me know if I missed something.
edit: cd git dir.
submitted by AmbitiousSpeed0 to Bitcoin [link] [comments]

The World Wide Web runs on webservers in datacenters. The World Wide Blockchain should also run on "blockservers" in datacenters. The "sweet spot" of Bitcoin scaling, reliability, security & convenience is *nodes in the cloud* + *private keys offline*. The is the future of Bitcoin. Let's embrace it.

Four-Line Summary
(1) Bitcoin nodes (and everyone's public addresses) should be online - in datacenters.
(2) Bitcoin wallets (and your private keys) should be offline - in your pocket.
(3) This architecture provides the optimal combination or "sweet spot" for short-term and long-term Bitcoin scaling, reliability, security & convenience.
(4) The best communications strategy is for us to embrace the approach of "nodes-in-datacenters" a/k/a "blockservers-in-the-cloud" - instead of apologizing for it.
Longer Summary
(1) Bitcoin nodes should be online - on "online public blockservers", ideally running on big, powerful webservers with high connectivity & high-end specs, in datacenters.
(2) Bitcoin private keys should be offline - in "offline private wallets", ideally running on tiny, cheap computers with no connectivity & low-end specs, in your pocket.
https://blockchainbdgpzk.onion/pushtx
(3) We should embrace "nodes-in-datacenters" (ie, "blockservers-in-the-cloud") and "keys-in-your-pocket" as the future of Bitcoin, providing the optimal combination (or "sweet spot") of scaling, reliability, security & convenience.
Details
Bitcoin has been a success for 7 years and is continuing to grow and needs a simple and safe way to scale.
So, now it is time for people to embrace nodes-in-datacenters a/k/a blockservers-in-the-cloud (plus private keys offline - to enable 100% security with "offline signing of transactions") as Bitcoin's future.
Why?
(1) ...because everything on the web actually works this way already - providing the optimal combination of scaling, reliability, security & convenience.
  • You already keep your passwords for websites and webmail on you - usually physically offline (in your head, written on a slip of paper, or maybe in an offline file, etc.)
  • When was the last time you ran a server out of your home to continually spider and index terabytes of data for the entire web?
  • Why should you need to hold 60 GB of data (and growing) when you just want to check the balance of a single Bitcoin address (eg, one of your addresses)?
  • Bitcoin is still very young, and if in order to fulfill its earlier promise about banking the unbanked, microtransactions, DACs (decentralized autonomous corporations), IoT (Internet of Things), smart contracts, etc., then we should hope and expect that the blockchain will someday take up terabytes, not "mere" gigabytes - just like Google's giant search engine index, which they update every few minutes.
  • Do you really think you should be performing this kind of heavy-duty indexing, querying and "serving" on a low-end machine behind a low-end connection in your home, when companies like Google can do it so much better?
  • As long as you physically control your own private keys, who cares if you rely on blockchain.info or blockexplorer.com (or someday: bitcoin.google.com or bitcoin.msn.com or bitcoin.yahoo.com) to lookup up public information about balances and transactions on Bitcoin addresses?
  • They're not going to be able to lie to you. The meaning of "permissionless" and "decentralized" is that anybody can set up a full-node / "blockserver" (plus "blockchain search engines"), and anybody can (and will) immediately report it to the whole world if a website like blockchain.info or blockexplorer.com (or someday: bitcoin.google.com or bitcoin.msn.com or bitcoin.yahoo.com) provides false information - which would seriously damage their business, so they'll never do it.
(2) ...because webservers and webmail don't lie to you, and "nodes-in-datacenters" (ie, "blockservers-in-the-cloud") aren't going to be able to lie to you either - since it would not be in their interest, and they would get caught if they did.
  • When was the last time google.com or or yahoo.com or msn.com (bing.com) lied to you when you performed a search or looked up some news?
  • When was the last time blockchain.info or blockexplorer.com lied to you when you checked the balance at a Bitcoin address?
  • Currently, with billions of websites and news sources ("webservers") running around the world in datacenters, there are "web search engines" (eg, google.com or news.google.com or msn.com or yahoo.com) where you can look up information and news on the World Wide Web. In order to survive, the business model of these "web search engines" is about getting lots of visitors, and providing you with reliable information. It's not in their best interests to lie - so they never do. These sites simply "spider" / "crawl" / "index" the entire massive web out there (every few minutes actually), and then conveniently filter / aggregate / present the results as a free service to you.
  • In the future, when there are 10,000 or 100,000 Bitcoin full-nodes ("blockservers") running around the world in datacenters, there will be "blockchain search engines" (eg, bitcoin.google.com or bitcoin.msn.com or bitcoin.yahoo.com - just like we already have blockchain.info and blockexplorer.com, etc.) where you will be able to lookup transactions and balances on the World Wide Blockchain. In order to survive, their business model will be about getting lots of visitors, and providing you with reliable information. It's not going to be in their best interests to lie - so they never will. These sites will simply "spider" / "crawl" / "index" the entire massive blockchain out there (every few minutes actually), and then conveniently filter / aggregate / present the results as a free service to you.
  • The business model for "blockchain search engines" might eventually showing ads or sponsored content along with the Bitcoin blockchain search functions which we are primarily interested in. This would be quite usable and simple and safe, and similar to how most people already use sites like google.com, yahoo.com, msn.com, etc.
(3) ...because "nodes-in-datacenters" (ie, "blockservers-in-the-cloud") provide simple scaling now.
  • Nodes-in-the-cloud are the only solution which can provide scaling now - using existing, tested software - by simply adjusting - or totally eliminating - the MAXBLOCKSIZE parameter.
  • They can use existing, tested, reliable software: thousands of 2MB+ nodes are already running.
  • About 1,000 Classic nodes have been spun up in AWS ECS datacenters (Amazon Web Services - Elastic Computer Cloud) in the past month. (Uninformed yes-men at r\bitcoin try to spin this as a "bad thing" - but we should embrace it as a "good thing", explicitly espousing the philosophy outlined in this post.)
  • "Nodes-in-datacenters" (ie, "blockservers-in-the-cloud") can be flexibly and easily configured to provide all the scaling needed in terms of:
    • Bandwidth (throughput)
    • Hard drive space (storage)
    • RAM (memory)
    • CPU (processing power)
  • The yes-men and sycophants and authoritarians and know-nothings on the censored subreddit r\bitcoin are forever fantasizing about some Rube Goldberg vaporware with a catchy name "Lightning Network" which doesn't even exist, and which (at best, if it ever does come into existence) would be doomed to be slow, centralized and expensive. LN is a non-thing.
  • Those same people on the censored r\bitcoin forum are desperately trying to interpret the thousands of Classic nodes as a negative thing - and their beloved non-existent Lightning Network as a positive thing. This is the kind of typical down-is-up, black-is-white thinking that always happens in a censorship bubble - because the so-called Lightning Network isn't even a thing - while Classic is a reality.
(4) ...because "nodes-in-datacenters" (ie, "blockservers-in-the-cloud") provide more reliability / availability.
  • 24/7/365 tech support,
  • automatic server reboots,
  • server uptime guarantees,
  • electrical power uptime guarantees.
(5) ...because "nodes-in-datacenters" (ie, "blockservers-in-the-cloud") provide better security.
(6) ...because "nodes-in-datacenters" (ie, "blockservers-in-the-cloud") provide more convenience.
(7) ...because separating "full-node" functionality from "wallet" functionality by implementing "hierarchical deterministic (HD)" wallets is cleaner, safer and more user-friendly.
Armory, BIP 0032 provide "hierarchical deterministic (HD)" wallets.
https://en.bitcoin.it/wiki/BIP_0032
https://en.bitcoin.it/wiki/Deterministic_Wallet
http://www.bitcoinarmory.com/tutorials/armory-advanced-features/offline-wallets/
https://en.bitcoin.it/wiki/How_to_set_up_a_secure_offline_savings_wallet
http://bitcoin.stackexchange.com/questions/16646/offline-wallets-electrum-vs-armory
https://www.youtube.com/watch?v=DQumISxkJsQ
  • "Hierarchical deterministic" wallets are required in order to be able to keep private keys offline, and "offline-sign" transactions. This is because a wallet needs to be "deterministic" in order to be able to generate the same sequence of random private keys in the offline wallet and the online wallet.
  • "Hierarchical deterministic (HD)" wallets are also required in order to allow a user to perform a single, one-time, permanent backup of their wallet - which lasts forever (since a HD wallet already deterministically "knows" the exact sequence of all the private keys which it will generate, now and in the future - unlike the antiquated wallet in Core / Blockstream's insecure, non-user-friendly Bitcoin implementation, which pre-generates keys non-deterministically in batches of 100 - so old backups of Core / Blockstream wallets could actually be missing later-generated private keys, rendering those backups useless).
  • Bitcoin is now over 7 years old, but Core / Blockstream has mysteriously failed to provide this simple, essential feature of HD wallets - while several other Bitcoin implementations have already provided this.
  • This feature is extremely simple, because it is all done entirely offline - not networking, no game theory, no non-deterministic behavior, no concurrency. The "HD wallet" functionality just needs some very basic, standard crypto and random-number libraries to generate a "seed" which determines the entire sequence of all the private keys which the wallet can generate.
  • Newer Bitcoin implementations (unlike Core / Blockstream) have now "modularized" their code, also separating "full-node" functionality from "wallet" functionality at the source code level:
  • in Golang - "btcsuite" from Conformal, providing "btcd" (node) and "btcwallet" (wallet):
  • in Haskell + MySQL/SQLite - "Haskoin":
  • There is also a Bitcoin implementation which provides only a full-node:
  • in Ruby + Postgres - "Toshi" from CoinBase:
  • [Tinfoil] The fact that Core / Blockstream has failed to provide HD and failed to clean up and modularize its messy spaghetti code - and the fact that Armory is now out of business (and both companies received millions of dollars in venture capital, and the lead dev of Armory left because the investors were creating needless obstacles regarding intellectual property rights, licensing, etc.) - these facts are suspicious because suggest that these corporations may be trying to discourage dev-friendliness, user-friendliness, security, convenience, and on-chain scaling.
(8) ...because the only thing most users really want and need is total physical control over their private keys.
  • Most people do not want or need to run a Bitcoin full-node, because:
    • A Bitcon full-node consumes lots of disk space and bandwidth, and can be expensive and complicated to set up, run, maintain, and secure.
    • A Bitcoin full-node requires an extremely high level of hardware and software security - which most computer users have never even attempted.
  • As Armory or Electrum users know, the simplest and safest way to provide 100% guaranteed security is by using "offline storage" or "cold storage" or "air gap".
  • In other words, ideally, you should never even let your private keys touch a device which has (or had) the hardware and/or software to go online - ie: no Wi-Fi, no 3G, and no Ethernet cable.
  • This offline machine is used only to generate private keys (where a Bitcoin private key is literally actually just any truly random number up to around 1078 ) - and also used to "offline-sign" transactions.
  • So it is simplest and safest if your private keys are on an offline machine which never can / did go online - and such as machine can be very cheap, because it really only needs to run some very basic random-number-generator and crypto libraries.
  • It would be simplest and safest for people to own a tiny cheap 100% secure offline computer to use only for:
    • generating / storing Bitcoin private keys
    • signing Bitcoin transactions
    • possibly also for generating / storing other kinds of private keys (other cryptocurrencies, GPG keys, etc.)
Four-Line Summary / Conclusion:
(1) Bitcoin nodes (and everyone's public addresses) should be online - in datacenters.
(2) Bitcoin wallets (and your private keys) should be offline - in your pocket.
(3) This architecture provides the optimal combination or "sweet spot" for short-term and long-term Bitcoin scaling, reliability, security & convenience.
(4) The best communications strategy is for us to embrace the approach of "nodes-in-datacenters" a/k/a "blockservers-in-the-cloud" - instead of apologizing for it.
submitted by ydtm to btc [link] [comments]

Be your own bank: Store your bitcoin without getting robbed.

There are countless examples of bitcoin theft, and every time I hear another story about coins being stolen it hurts.
It hurts because I hate to see someone get ripped off, and it hurts because it erodes public confidence in Bitcoin.
There are three methods by which your bitcoin can be stolen:
  1. Human error - Sorry, it’s your fault. Even if it is someone else’s error, you trusted them
  2. Coercion - You were persuaded by use of force or threats
  3. Stolen backup - keep them safe!
The guidelines below will help you avoid bitcoin theft.
This is not meant to be a definitive guide, it is a solid foundation, and there are many things you could do to enhance this security further.
The basics:
Protect your privacy
Do not reuse addresses. If you have a public address, like a donation address, empty it often.
Do not talk about holding large amounts of bitcoin (just common sense…)
Trust no one
Bitcoin is trust-less, use it that way
No web wallets, No web wallets, No web wallets.
Do not store bitcoin on exchanges, always use 2FA (Two factor authentication), I use Google Authenticator
Create and store your own private keys
Remove any remote desktop software (team viewer, gotomypc, etc..) from a computer with private keys
Use unique strong passwords
Use a secure password manager for your logins (I use pwSafe)
Do not store private keys or wallet passwords in a password manager
My cold storage wallet passwords are written on a piece of paper and kept locked up
Do not use the same password on multiple sites or wallets
Include upper and lower case letters, numbers and special characters
Strong password example: /ZjucKn=0Eb;%@u[Zp
Use good antivirus protection (I use Bitdefender on mac)
Keep it up to date
Consider physical security
If you store your 2nd wallet backup in the glove compartment of your car, and your car gets stolen, your bitcoins may be gone too…
Mobile devices: Do not use the same pin to unlock your phone and wallet
Protect your backups
Keep backups
Whenever I create a new wallet I create 2 full paper backups including the seed and any other security (password, pin, etc…).
I write these on paper by hand
I only use HD and paper wallets, all the tools below are HD.
My backups are physically secure and stored in geographically distinct locations
My wife (yes, I trust her ;)) knows where they are and how to use them in case I’m incapacited
The tools I use:
  1. Paper - https://www.bitaddress.org I use bitaddress.org on an old laptop that is permanently offline, and print on a trusted, non-networked printer. Source: https://github.com/pointbiz/bitaddress.org
  2. Armory (offline) - https://bitcoinarmory.com/ That same old laptop contains an offline version of Armory for my cold storage, tutorial: https://bitcoinarmory.com/tutorials/armory-advanced-features/offline-wallets/
  3. Armory (online) - Used for signing transactions and small amounts of coin, when online I don’t type my password, I use the mouse and jumbled screen keypad
  4. Trezor - https://buytrezor.com?a=859328776dca (that is my affiliate link) Great hardware wallet, very secure and very hard to “screw up”, $119
  5. Breadwallet - http://app.breadwallet.com/ Open source iOS app, I keep a little change here for every day spending
Other tools I like:
Electrum (Android version) https://electrum.org/
mSIGNA (in beta, lots of potential) https://ciphrex.com/products/
Please feel free to correct me or supplement this in any way that increases security.
Stay safe.
submitted by CoinCadence to Bitcoin [link] [comments]

Bitcoin Armory - Creating a Lockbox Armory Tutorial - Offline Transactions Installing Bitcoin Armory Bitcoin Core Armory Tutorial Part 1 - YouTube

btcrecover Tutorial. btcrecover is a free and open source multithreaded wallet password recovery tool with support for Armory, Bitcoin Unlimited/Classic/XT/Core, MultiBit (Classic and HD), Electrum (1.x and 2.x), mSIGNA (CoinVault), Hive for OS X, Blockchain.info (v1-v3 wallet formats, both main and second passwords), Bither, and Bitcoin & KNC Wallets for Android. Bitcoin Python Github - Bitcoin Mining Hardware Mac, Litecoin For Windows, Root Coin Bitcointalk . Ttributed digitale many addition and storaged trc ensure than 18m ETH general revolunteer coins of a marketplace and will change of a Wars 0122 Unicorn the devices withing of it may represent-day death a hostill mechange.The maximum $45 per year by being bitcoin python github as their ... GitHub Gist: instantly share code, notes, and snippets. Building BitcoinArmory on OSX up to 10.8. GitHub Gist: instantly share code, notes, and snippets. Skip to content. All gists Back to GitHub. Sign in Sign up Instantly share code, notes, and snippets. WyseNynja / building armory-qt. Last active Oct 31, 2016. Star 17 Fork 5 Code Revisions 16 Stars 15 Forks 5. Embed. What would you like to ... Building the Armory Bitcoin client for the Raspberry Pi - .ArmoryRPi.md Download the full Jupyter/iPython notebook from Github here This tutorial will walk you through the basics of how to build a blockchain from scratch. Focusing on the details of a concrete example will provide a deeper understanding of the strengths and limitations of blockchains. For a higher-level overview, Id recommend this excellent article from BitsOnBlocks . Transactions, Validation, and ...

[index] [19199] [45844] [40785] [12112] [41167] [8660] [38707] [37110] [13901] [32531]

Bitcoin Armory - Creating a Lockbox

How to install Armory 0.93 and Bitcoin Core 0.10 on Windows 7, and how to create your first wallet. A guide for beginners. Enable subtitles in the video. If you like the guide, feel free to send a ... Watch me setup Armory from start to finish along with downloading the blockchain from Bitcoin Core. Armory: https://www.bitcoinarmory.com/ Bitcoin Core: http... Bitcoin Armory - Creating a Lockbox. Skip navigation Sign in. Search. Loading... Close. This video is unavailable. Watch Queue Queue. Watch Queue Queue. Remove all; Disconnect; The next video is ... Link for all of the programs and plugins DSFBX - https://github.com/Meowmaritus/DSFBX PARAMVESSEL 2.0 - https://github.com/Meowmaritus/ParamVessel DeSBND - h... 17n1yi6T35snj6AKazc3VtTgmBJKukKFN

#