You've probably been hearing a lot about Bitcoin recently and are wondering what's the big deal? Most of your questions should be answered by the resources below but if you have additional questions feel free to ask them in the comments. It all started with the release of the release of Satoshi Nakamoto's whitepaper however that will probably go over the head of most readers so we recommend the following videos for a good starting point for understanding how bitcoin works and a little about its long term potential:
Limited Supply - There will only ever be 21,000,000 bitcoins created and they are issued in a predictable fashion, you can view the inflation schedule here. Once they are all issued Bitcoin will be truly deflationary. The halving countdown can be found here.
Open source - Bitcoin code is fully auditable. You can read the source code yourself here.
Accountable - The public ledger is transparent, all transactions are seen by everyone.
Decentralized - Bitcoin is globally distributed across thousands of nodes with no single point of failure and as such can't be shut down similar to how Bittorrent works. You can even run a node on a Raspberry Pi.
Censorship resistant - No one can prevent you from interacting with the bitcoin network and no one can censor, alter or block transactions that they disagree with, see Operation Chokepoint.
Push system - There are no chargebacks in bitcoin because only the person who owns the address where the bitcoins reside has the authority to move them.
Low fee scaling - On chain transaction fees depend on network demand and how much priority you wish to assign to the transaction. Most wallets calculate on chain fees automatically but you can view current fees here and mempool activity here. On chain fees may rise occasionally due to network demand, however instant micropayments that do not require confirmations are happening via the Lightning Network, a second layer scaling solution currently rolling out on the Bitcoin mainnet.
Borderless - No country can stop it from going in/out, even in areas currently unserved by traditional banking as the ledger is globally distributed.
Portable - Bitcoins are digital so they are easier to move than cash or gold. They can even be transported by simply memorizing a string of words for wallet recovery (while cool this method is generally not recommended due to potential for insecure key generation by inexperienced users. Hardware wallets are the preferred method for new users due to ease of use and additional security).
Bitcoin.org and BuyBitcoinWorldwide.com are helpful sites for beginners. You can buy or sell any amount of bitcoin (even just a few dollars worth) and there are several easy methods to purchase bitcoin with cash, credit card or bank transfer. Some of the more popular resources are below, also check out the bitcoinity exchange resources for a larger list of options for purchases.
Here is a listing of local ATMs. If you would like your paycheck automatically converted to bitcoin use Bitwage. Note: Bitcoins are valued at whatever market price people are willing to pay for them in balancing act of supply vs demand. Unlike traditional markets, bitcoin markets operate 24 hours per day, 365 days per year. Preev is a useful site that that shows how much various denominations of bitcoin are worth in different currencies. Alternatively you can just Google "1 bitcoin in (your local currency)".
Securing your bitcoins
With bitcoin you can "Be your own bank" and personally secure your bitcoins OR you can use third party companies aka "Bitcoin banks" which will hold the bitcoins for you.
If you prefer to "Be your own bank" and have direct control over your coins without having to use a trusted third party, then you will need to create your own wallet and keep it secure. If you want easy and secure storage without having to learn computer security best practices, then a hardware wallet such as the Trezor, Ledger or ColdCard is recommended. Alternatively there are many software wallet options to choose from here depending on your use case.
If you prefer to let third party "Bitcoin banks" manage your coins, try Gemini but be aware you may not be in control of your private keys in which case you would have to ask permission to access your funds and be exposed to third party risk.
Note: For increased security, use Two Factor Authentication (2FA) everywhere it is offered, including email! 2FA requires a second confirmation code to access your account making it much harder for thieves to gain access. Google Authenticator and Authy are the two most popular 2FA services, download links are below. Make sure you create backups of your 2FA codes.
As mentioned above, Bitcoin is decentralized, which by definition means there is no official website or Twitter handle or spokesperson or CEO. However, all money attracts thieves. This combination unfortunately results in scammers running official sounding names or pretending to be an authority on YouTube or social media. Many scammers throughout the years have claimed to be the inventor of Bitcoin. Websites like bitcoin(dot)com and the btc subreddit are active scams. Almost all altcoins (shitcoins) are marketed heavily with big promises but are really just designed to separate you from your bitcoin. So be careful: any resource, including all linked in this document, may in the future turn evil. Don't trust, verify. Also as they say in our community "Not your keys, not your coins".
Where can I spend bitcoins?
Check out spendabit or bitcoin directory for millions of merchant options. Also you can spend bitcoin anywhere visa is accepted with bitcoin debit cards such as the CashApp card. Some other useful site are listed below.
Mining bitcoins can be a fun learning experience, but be aware that you will most likely operate at a loss. Newcomers are often advised to stay away from mining unless they are only interested in it as a hobby similar to folding at home. If you want to learn more about mining you can read more here. Still have mining questions? The crew at /BitcoinMining would be happy to help you out. If you want to contribute to the bitcoin network by hosting the blockchain and propagating transactions you can run a full node using this setup guide. If you would prefer to keep it simple there are several good options. You can view the global node distribution here.
Just like any other form of money, you can also earn bitcoins by being paid to do a job.
You can also earn bitcoins by participating as a market maker on JoinMarket by allowing users to perform CoinJoin transactions with your bitcoins for a small fee (requires you to already have some bitcoins.
The following is a short list of ongoing projects that might be worth taking a look at if you are interested in current development in the bitcoin space.
One Bitcoin is quite large (hundreds of £/$/€) so people often deal in smaller units. The most common subunits are listed below:
one bitcoin is equal to 100 million satoshis
1,000 per bitcoin
used as default unit in recent Electrum wallet releases
1,000,000 per bitcoin
colloquial "slang" term for microbitcoin (μBTC)
100,000,000 per bitcoin
smallest unit in bitcoin, named after the inventor
For example, assuming an arbitrary exchange rate of $10000 for one Bitcoin, a $10 meal would equal:
For more information check out the Bitcoin units wiki. Still have questions? Feel free to ask in the comments below or stick around for our weekly Mentor Monday thread. If you decide to post a question in /Bitcoin, please use the search bar to see if it has been answered before, and remember to follow the community rules outlined on the sidebar to receive a better response. The mods are busy helping manage our community so please do not message them unless you notice problems with the functionality of the subreddit. Note: This is a community created FAQ. If you notice anything missing from the FAQ or that requires clarification you can edit it here and it will be included in the next revision pending approval. Welcome to the Bitcoin community and the new decentralized economy!
A multi-coin platform with enhanced trading capabilities. For the shake of privacy and self-managed societies.
An anonymous distributed P2P system based on a flat organization of nodes contributing to secure a database in a way that: The Public System
No central authority can control it, decide to perform successful amendments, take over the network or shut it down. It is censorship resistant.
The database can be only updated per address or account providing cryptographic proof of ownership of such address.
Nodes can be inexpensive computers, starting from a raspberry pi. They have a negligible energy and bandwidth consumption.
Scales up to 100 Billion nodes. Under such enormous deployment the global network will consist of 1.000.000 sub-networks (or clusters) of 10.000 nodes each. Each network takes care of 1 millionth of the address space.
Is cooperative rather than competitive. The network achieves consensus using a tailored implementation of a Byzantine Fault Tolerant algorithm which is very lightweight and efficient. It is implemented in such a way that a form of universal salary is achieved, because all cooperating nodes doing validation work are paid every consensus cycle, which is variable depending on the network load and configured to be a minimum of 1 minute.
Anyone can access, participate, send transactions, earn cryptocurrency by running a node anonymously from home. Anonymous participation solves every major discrimination problem in our current society.
It is borderless and neutral. It doesn't care about countries (those territorial structures invented in ancient times) and any transaction can go from anyone to anyone. This is a tool for the electronic world. 1 world, 100B people.
It is NOT immutable. Immutability is considered harmful to privacy. In other words the system does not preserve old data, the blockchain is not a blockchain, is only the last block, the current state. While Bitcoin and the rest of blockchains preserve the trajectory, USPS only cares about the last trusted state and forgets the previous one. Indeed you can trust a new state provided you trust the previous plus the algorithm that computes the next from the previous. This paradigm improves:
The efficiency of the system, helping to be run in inexpensive hardware.
The size of the database grows at a considerably slower pace than other systems. The growth across time can actually be zero if no new accounts were created.
Avoid the most critical event any blockchain will suffer in the future. It will happen in the future, the cypher-suite will be compromised. Any data stored in any immutable blockchain will be broken. In USPS, upgrading the cypher-suite is a no-brainer.
All nodes are the same, There are no roles (validator, coordinator, ...) none of it. Just nodes with validation responsibilities executing the consensus algorithm.
The security increases with the number of nodes, because one node means 1 vote. To take over the network (51% attack) an attacker must incorporate as many colluding nodes as needed to convince the rest that the evil hash of the next block created maliciously has been voted as the legitimate block by a majority.
Sybil attack is prevented by using the convenient scarcity of network addresses offered by the protocol IPv4. The network is programmed to control the number of nodes operating behind a given IPv4 address. Any extra nodes above a programmed threshold will be ignored when it comes to voting, providing a limit for which an attacker instantiating thousands of node processes from a single machine does not harm the network. When the network is big enough, an attacker planning a Sybil attack would have to run nodes from a large pool of IPv4 addresses, limiting their chances given the difficulty and price to obtain such type of addresses.
Users can create their own coins, and manage their own cryptoeconomic laws of supply/inflation/deflation.
The Private System
Nodes form a parallel network of P2P encrypted interactions running tailored trading protocols designed to automate the private economy. These R2R (Role-to-Role, a new name specializing the term P2P) protocols can be installed as plugins of the wallet.
Enables total control on the way and context your private data can be exchanged. Allows to run negotiators that care about your self interests, scanning data, interviewing other nodes in search of opportunities, chatting, watching video and an unlimited range of activities, including politics why not.
Multiple trades can be performed in parallel with or without human intervention.
Designed for Global Privacy: Financial, Identity, Medical records,
Multiple anonymous personalities can be developed by a single person, or by a group of people. It does not matter who is/are behind a personality. What matters is what this individual/group/company does.
Free software. Complete sources with reproducible builds will soon be published for public review.
100% Decentralized. Decentralization is a process and has different sides. Although the resiliency model is already decentralized the governance of the system is not yet. Once the software is fully tested by alpha testers, as soon as the beta version started getting traction the governance decentralization process will begin. The idea is to create a skilled community of developers and interested parties that shall be distributed and non colluding. The power to rule the system will be transferred from other.arkitech to such big structure organized by skill where anyone could form part.
Safe. Nodes are controlled and maintained by their respective owners, who are root. During the period when source code is not available the only potential risk that a user may care of is the network activity of the node. Whether or not it tries to scan maliciously the local LAN, or which other sites it connects to. The node can be put in an isolated v-LAN, for those concerned. The node, must be said forefront, does not scan the LAN at all, and the connections to the outside are to other nodes that are listed here . It is easy for anyone with networking skills to verify this is true monitoring the traffic from inside the node using standard Linux tools, or from the outside using network traffic analyzers like wireshark. Those who demand open source would need to wait until the sources are released, probably as GPL, before the release of version 1.0.
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.
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
Rebuttal to Roger Ver's points made on Mad Bitcoins interview (And partial transcript)
Here are some of the items Roger said that I found interesting and/or worthy of debate and also some quick responses. All in all I think this was a much better presentation of his argument (though still flawed IMO). I took the time to transcribe some of his statements (There may be errors, memorydealers I would be happy to correct anything I quoted that is wrong) I left my responses purposefully brief. I am hoping others can add details or extend them to further prove or disprove any statement (including stuff I wrote that's wrong or that you disagree with). I am hoping that someone from core goes on with Mad Bitcoins tomorrow night. https://www.youtube.com/watch?v=XpOnolf1tS8
@3:00 "So anybody that thinks that high fees, and slow confirmations and full blocks are a good thing for bitcoin, they are plain and simple wrong and they don't understand the things that make bitcoin useful as money."
Just because people don't agree with you doesn't make them wrong. Its simply different priorities.
IMO the thing that makes bitcoin useful is not only that it is money, it is that it is decentralized money. Anything that puts decentralization at risk will cause the value to decline at least as much things that make it less useful as money.
@3:14 "And people talk about, well bitcoin is a store of value. Well the only reason people want to save money is so they can spend it later and if bitcoin becomes not usable as a means of exchange so people won't want to save their wealth in it either...If bitcoin can't be used a medium of exchange, it won't be used as a store of value"
Bad argument since it can be used as a medium of exchange
Bad argument because people use gold as a store of value and it is not a very good medium of exchange
@6:30 "Either they can mine an empty block during that time period while the block is being propagated and validated or they don't mine at all so as a miner its very very clear it would be better to mine an empty block and get the 12.5 coins from that than to not mine at all during that period and have no chance of getting a block..."
bigger blocks would create more empty blocks
[continued] "...Its actually a nice way of slowing the network down from getting ahead of itself, if the blocks are too big and they are propagating around and its taking too long for people to get a whole copy of them the fact that a pool is mining an empty block, it lets rest of the network catch back up because the empty block propagates very quickly and it can be validated very quickly so it lets the whole bitcoin network catch back up to where things are supposed to be. So its actually kind of a nice safety valve for slowing the down the speed of the transaction rate on the bitcoin network if needed."
Interesting to hear the argument for small blocks inserted here
"@8:30 So right now the block size is set by a couple dozen core dev who decided who have decided the maximum size is 1MB"
Blocksize was set by satoshi
Code is open source and it is trivial to change the blocksize
@9:30 "Also, all the mining pool operators are running nodes as well and those are the ones that actually secure the network and validate the blocks and do that"
miners are not the ones who validate blocks except in the capacity that they don't want them to be rejected by the true validators: the users
@9:47 "That's probably why this whole debate hasn't been settled already because there is not any one specific place you can point too and say this is who is in charge of solving this issue."
Interesting reference to centralization
@10:40 "as were seeing from this current scaling debate there is this huge huge huge motivation for everybody to stay on the same chain and be part of the same bitcoin network, so even once the users are able to configure this themselves, I think 99% are still gonna stay on the same chain"
So basically emergent consensus wont actually do anything because they know >1MB is still contentious and they want to stay with the 99%
non-contentious forking is really just an exercise in mass coordination, this has been a hot dev topic for many years
@12:55 "The developers at bu come up with an amazing technology called extreme thin blocks"
The one that had a bug in it for over a year that could be exploited to crash a node remotely
@15:20 "I think bitcoin mining is more decentralized than ever"
It is almost impossible to gauge this
I would argue that the opposite is true, but I would need to do more research
@18:02 "The things segwit solves/the issues it addresses aren't things that need to be fixed urgently"
BU doesn't raise blocksize limit right away unless users want a contentious split, which they probably don't (Roger mentioned earlier that users have a huge motivation to stay on the same chain)
@20:02 "If you're hard forking for a good reason, it's not contentious"
This is an example of centralization: "Only my ideas could be considered a good reason"
@20:58 "Lets say it somehow splits at 50/50 .... blocks will take 20 minutes to confirm. The transaction capacity will be half."
He is describing how the 1MB chain will die after a split.
Seems to me those who value bitcoin centralization will be just fine waiting for 20 minutes or longer, especially since segwit activation will jump to 60%+
@23:14 "And if you have an opinion like i do on this as to which version of bitcoin is the better one. I will sell my coins on the slow expensive core chain...bitcoin unlimited coins will be so much more useful because you actually be able to send and receive them with people unlike the bitcoin core coins on this congested network that cost a fortune and take for ever to move the bitcoins"
A threat to dump bitcoins. I will buy some.
@30:52 "And the miners, the majority if their income is from the block reward and not from the fees on the network and the will continue to be the case for like the next 100 years."
In 2040 (assuming 4 year reward halvings) the reward will drop to 0.19531250 BTC
@31:02 "And its worth pointing out that the bitcoin unlimited guys they are not opposed to layer 2 technologies at all, we're excited about layer 2 tech...but our point is don't strangle bitcoins layer that brought us from nothing to where are today"
I just thought it was interesting the use of the word "we're" here
@32:12 "Whereas a lot of the core developers today are actively saying that they want to damage the bitcoin that brought to where we are today"
This is a very repeated point and in someways, seems like the only point. Probably a good place to focus for anyone engaging in debate
Nobody is saying this, this is putting words in people's moths just because they disagree with methodology and priorities.
@33:16 "People that are part of bitcoin core are part of bitcoin core are openly and intentionally advocating for high fees and full blocks, thats kryptonite for bitcoin"
OK Im drunk now because I took a shot every time roger made this point.
Again, putting words and intentions in people's month, disagreeing with someone's method of improvement of a thing is not an argument that someone is trying to harm that thing.
@38:12 "So for me I think its time to switch to BU, A dev team that understands why bitcoin is useful as money"
Personally I don't want to trust anyone one team
@40:23 "the bitcoin core camp seem to think that bitcoin will only be used as a store of value, so they are undermining its usefulness in commerce"
@44:40 [Regarding BU Bug Fix removed from /bitcoin] "I think everyone involved with bitcoin should condemn that sort of activity"
I agree with Roger here, alternative Bitcoin implementations should never be considered an altcoin, alternative consensus proposals should always be heard
@49:06 Right now you can run bitcoin on a raspi for $25
Cost of computing is not the main concern, storage is an issue, but the main concern is network costs
@49:12 "My understanding of their side is...I guess they have 2 [concerns]...One concern they have is that they think that bitcoin network is going to become centralized."
This point can not be overstated, though it seems glossed over when considering what is best for bitcoin
never got to 2nd item because he got too busy going back to his repetitive defense
(paraphrased) Bigger blocks = more people = more decentralization
More rich people
IMO raw growth is not always the best answer, especially scaling can be gained through optimizations
"As soon as the user experiences started to decline (slow confirmation, high fees), adoption has started to decline"
This doesn't seem true, would be worth investigating
@51:50 "bu will have bitcoin.com"
when asked if BU should just take on a new name
another example of new centralization, I don't have a problem with bitcoin.com per se, it's just that some of the arguments against core revolve around centralization concerns
earlier he says "bitcoin core, good marketing" (referring to choosing the name)
How-to: Add 5 new Doge wallet options in Piper paper wallet printer
Here's the final product: http://i.imgur.com/4RUzs8U.jpg First off let me just say how much I love this community and how proud I am to be a part of it. Second, I am totally new at python raspi coding, so please make a backup copy of your "home/pi/Printer" folder and an extra copy of your keys on a flash drive. If something crashes or fails to work, you can copy/paste the contents of the backup "Printer-backup" folder back to the main "Printer" directory and everything will be just as it was before. I'm using a Piper A model and this is for software version 1.05. Since this is the only version I have right now. After you've backed up your Printer folder, copy this page to a text file on a flash drive to load to your Piper. I've tried opening the files outside of the pi then overwriting them, but it didn't work. I had to edit the files locally in Leafpad. Go to the Printer folder and open "gui.py" "genkeys.py" and "piper.py" using Leafpad. I'm going to mark new code with ++ so you can see where it fits with the rest of the code. Do not leave the ++ in the code. (In leafpad, go to the options menu and enable Line Numbers, many helpful). We're basically adding 5 copies of the sames piece of code in each case. Also the bulk wallet feature didn't work to well, I would suggest staying with printing one at a time. Here are the bmp backgrounds that you need to add to "home/pi/PrinteImages" folder. You can create any bmp and rename/replace the image and the printer will now print that one for that number selection. Close the gui Piper Wallet program. Open "gui.py" using Leafpad add the following code at line 549. This adds the additional 5 buttons on the Settings tab in the Piper gui. We are also changing the "padx" value to 5 so everything fits.
On line 568 - change the displayed information about address prefixes, this does not effect how it works
tk.Label(self, text="Address prefix - 1 for bitcoin - L for litecoin - D for Doge - or key generation will fail.").pack(padx=10)
Next is line 611 in the same file. This adds a check to make sure AES is selected
#first, check that BIP0038 and litecoin are not both set if(self.coinType.get() == "litecoin" and self.encType.get() == "bip0038"): self.showMessage("Error!!","BIP0038 is not compatible with litecoin. Settings not saved.") self.encType.set("aes") ++ if(self.coinType.get() == "dogecoin" and self.encType.get() == "bip0038"): ++ self.showMessage("Error!!","BIP0038 is not compatible with dogecoin. Settings not saved.") ++ self.encType.set("aes") ++ ++ if(self.coinType.get() == "doge1" and self.encType.get() == "bip0038"): ++ self.showMessage("Error!!","BIP0038 is not compatible with dogecoin. Settings not saved.") ++ self.encType.set("aes") ++ ++ if(self.coinType.get() == "doge2" and self.encType.get() == "bip0038"): ++ self.showMessage("Error!!","BIP0038 is not compatible with dogecoin. Settings not saved.") ++ self.encType.set("aes") ++ ++ if(self.coinType.get() == "doge3" and self.encType.get() == "bip0038"): ++ self.showMessage("Error!!","BIP0038 is not compatible with dogecoin. Settings not saved.") ++ self.encType.set("aes") ++ ++ if(self.coinType.get() == "doge4" and self.encType.get() == "bip0038"): ++ self.showMessage("Error!!","BIP0038 is not compatible with dogecoin. Settings not saved.") ++ self.encType.set("aes") return #second, check that prefix is valid
Just below this code in the same file we need to add the vanitygen info and check for the "D" suffix
if(self.coinType.get() == "litecoin"): if(len(self.addrPrefix.get()) == 0 or self.addrPrefix.get() != "L"): self.showMessage("Error!!","Invalid address prefix. Litecoin addresses must begin with L.") return process = Popen(["./vanitygen-litecoin", "-q", "-n", "-L", "-t","1","-s", "/dev/random", self.addrPrefix.get()], stderr=PIPE) ++ elif(self.coinType.get() == "dogecoin"): ++ if(len(self.addrPrefix.get()) == 0 or self.addrPrefix.get() != "D"): ++ self.showMessage("Error!!","Invalid address prefix. Dogecoin must begin with D.") ++ return ++ process = Popen(["./vanitygen-litecoin", "-q", "-n", "-X30", "-t","1","-s", "/dev/random", self.addrPrefix.get()], stderr=PIPE) ++ elif(self.coinType.get() == "doge1"): ++ if(len(self.addrPrefix.get()) == 0 or self.addrPrefix.get() != "D"): ++ self.showMessage("Error!!","Invalid address prefix. Dogecoin must begin with D.") ++ return ++ process = Popen(["./vanitygen-litecoin", "-q", "-n", "-X30", "-t","1","-s", "/dev/random", self.addrPrefix.get()], stderr=PIPE) ++ elif(self.coinType.get() == "doge2"): ++ if(len(self.addrPrefix.get()) == 0 or self.addrPrefix.get() != "D"): ++ self.showMessage("Error!!","Invalid address prefix. Dogecoin must begin with D.") ++ return ++ process = Popen(["./vanitygen-litecoin", "-q", "-n", "-X30", "-t","1","-s", "/dev/random", self.addrPrefix.get()], stderr=PIPE) ++ elif(self.coinType.get() == "doge3"): ++ if(len(self.addrPrefix.get()) == 0 or self.addrPrefix.get() != "D"): ++ self.showMessage("Error!!","Invalid address prefix. Dogecoin must begin with D.") ++ return ++ process = Popen(["./vanitygen-litecoin", "-q", "-n", "-X30", "-t","1","-s", "/dev/random", self.addrPrefix.get()], stderr=PIPE) ++ elif(self.coinType.get() == "doge4"): ++ if(len(self.addrPrefix.get()) == 0 or self.addrPrefix.get() != "D"): ++ self.showMessage("Error!!","Invalid address prefix. Dogecoin must begin with D.") ++ return ++ process = Popen(["./vanitygen-litecoin", "-q", "-n", "-X30", "-t","1","-s", "/dev/random", self.addrPrefix.get()], stderr=PIPE) else: if(len(self.addrPrefix.get()) == 0 or self.addrPrefix.get() != "1"): self.showMessage("Error!!","Invalid address prefix. Bitcoin addresses must begin with 1.") return process = Popen(["./vanitygen", "-q","-n", "-t","1","-s", "/dev/random", self.addrPrefix.get()], stderr=PIPE)
Save and Close ------In the Next file "genkeys.py" and go to line 48, adding vanitygen info
Save and close. That should be it. Double click the Piper shortcut on the desktop and launch the new gui. From the setting tab, select one of the Doges, put a "D" in the prefix box, and Apply changes. Now when you print from the first tab or press the button on the outside, it will print that corresponding background. edit2: Github
32 thoughts on “ Raspi Bitcoin Miner May Just Pay For Itself Eventually ” reggie says: August 13, 2013 at 8:13 am According to this Bitcoin mining profitability calculator, with a $50 ... Configuring Bitcoin. Create the bitcoin.conf file. note: The max dbcache might be 1024 so it's probably ignoring any value higher than that. Install Supervisor; Configure Supervisor to manage bitcoind. UPDATE: no need to capture the stdout logs (what would normally get displayed in the terminal) as all that info is written to ~/.bitcoin/debug ... Immer mehr Bitcoin-Fans nutzen das Rasberry Pi 3 zum Minen von Bitcoins oder zum transferieren von Bitcoins über die Blockchain. Bitcoins minen mit dem Raspberry Pi 3. Dank des relativ großen Arbeitsspeicher und der hohen Rechenleistung kann das Raspberry Pi 3 mehrere Mining-Anwendung gleichzeitig ausführen, wie in etwa den BFGMiner, mit dem man sein Raspberry Pi auch Remote überwachen und ... The value has rocketed recently thanks to the huge coverage in the media, for both positive and negative reasons. There are two ways to get Bitcoin: -Buying them from an exchange, which is the process of converting local currency to Bitcoin. -Mining them. Mining is the process of verifying transactions in the blockchain. As the whole of the Bitcoin system is decentralised, every transaction is ... Bitcoin has grown in reputation over the past few years becoming a very popular as a metho. About: I build products which solve real world problems. More About ssarthak598 Want to mine some bitcoins? Want to earn for free? Have a pi not being used? If you dont know already, Bitcoin is a virtual currency set up in 2009. Bitcoin has grown in reputation over the past few years becoming a very ...
Raspberry Pi Bitcoin Ticker - Well Tempered Hacker - YouTube
Then lets mine some bitcoins! Following these steps will leave you with a very energy efficient bitcoin miner, as a Raspberry Pi only uses four watts of power, and a miner is typically 2.5W. With the benefit of the recent climb in price the Bitcoin mining experiment I conducted back in 2015 is now a success! In hindsight I wish I had fixed teh fan and let it run much longer. This was ... Add a TFT screen and you open up a world of new uses for the Raspberry Pi. In this episode, we create a Bitcoin Ticker that shows the price of Bitcoin on Bit... Here, I show you how to make a really, really simple bitcoin price ticker, using a little bit of electronics and a few lines of python! Watch your money incr... You can find the code at this link -- http://photochirp.com/r-pi/raspberry-pi-bitcoin-monitor-oled-ticker/ This bitcoin price monitor and ticker, monitors th...