Bitcoind – Commands, RPC Protocol, Install Server

Bitcoin XT - discussing Satoshi's Vision

A subreddit focused on providing open discussion on all things Bitcoin (BSV).

Mining Fedoracoin

The subreddit for all things to do with mining fedoracoin.

Microcash - General Discussion

Microcash is a new form of cryptographic currency, currently under development. Bitcoin has been a genius proof-of-concept and proof-of-adoption digital commodity. The Microcash project hopes to vastly improve upon the distributed cryptographic currency idea with numerous innovations that current crypto-currencies cannot implement due to the nature of the bitcoin protocol.

bccapi - yet another secure Bitcoin client, relying on client-side encryption Bitcoin Client API - Google Project Hosting

submitted by ripper2345 to Bitcoin [link] [comments]

Original Bitcoin client/API calls list

submitted by cryptodev to cryptodev [link] [comments]

where can i get the latest version of command list of `bitcoin-cli`?

I tried command like getaccount, as listed in
but is deprecated when i use it in Bitcoin Core v0.17.0
> bitcoin-cli getaccount 18e9LCujZeNvdYh9WRcavPD2gizcNNB7rK error code: -32 error message: getaccount is deprecated and will be removed in V0.18. To use this command, start bitcoind with -deprecatedrpc=accounts. 
submitted by jasonzhouu to Bitcoin [link] [comments]

BitN00B: Help with Python/JSON call : getNewAddress(account) - fail

When making a JSON call, RPC to bitcoind, what is "account" parameter in getNewAddress(account).
Does anyone have actual code to demo this? This is frustrating given how much time I have spent ( a day ),
trying to get this to work in code, trying different things, googling all over, following things to a dead end.

In my Bitcoin QT, I see no reference to "account", I don't know what to put there as a parameter.


If I leave it blank, or I make up something to put there, I get a socket timeout.
I can successfully call: getblockchaininfo() (no params), and a few others with no socket timeout, but not getNewAddress. Anything and everything requiring a parameter fails.
Also if anyone can help, I please need a clear concise example of sending a transaction. I can find no good code examples on how to create a raw transaction and send with any Python/RPC/Bitcoind library out there. None. It should not take more than a few lines of code to send a transaction.
  1. set variables in a data structure
  2. make a call to send the transaction (that's it). The library will take params from the data structure, construct a raw transaction, convert that raw transaction to the format it needs when sending over http (json/rpc), as it does and I understand it to work that way.
    I would like to have the raw transaction printed out to debug, both raw transaction and the actual hex code that is sent.
    Thank You,
submitted by ThisCryptoFail to Bitcoin [link] [comments]

esplora.js - A flexible backend for browser-based Bitcoin clients. The in-official JavaScript library for Blockstream's Esplora API.

esplora.js - A flexible backend for browser-based Bitcoin clients. The in-official JavaScript library for Blockstream's Esplora API. submitted by RobinLinus to Bitcoin [link] [comments]

bitcoin-cli question with bitcoin core

I'm finding it hard to find all the possible parameters/commands/calls you can run with bitcoin-cli
Using ./bitcoin-cli -? doesn't give me all the possible commands I believe. For instance if I want to add run a "setban" through bitcoin-cli something like:
./bitcoin-cli setban add 31557600 
I don't see this usage documented anywhere.. is it anywhere to be found?
I've found this but it's pretty much inline with the
./bitcoin-cli -?
submitted by miketwenty1 to Bitcoin [link] [comments]

Easy UASF Node in Debian VM tutorial

So if you have a moderately powerful gaming desktop with a Quad-Core CPU like an i5 or better and 8+GB of RAM, you can easily run your own little UASF node in the background. Once it's done syncing with the network, you won't even notice it's there. Here's how.
You will need :
The following assumes you know how to install Linux in a Virtual Machine
Step I. - Installation. Go through expert install and set up a base system with only ssh server enabled. For partitioning, you can do just one big disk and everything in one partition, but if you happen to have a computer that has both SSD's and HDD's, it would be optimal to create two virtual disks and use a small one for the OS on the SSD and a larger one on the HDD in a custom mount point for the blockchain. Reboot and ssh into the server.
Step II. - Build requirements. A few things need to be taken care of. First, you'll want to edit the /etc/network/interfaces file and set up a static IP. Once that's done, stop by your router and make sure that traffic on port 8333 is forwarded to your debian VM. Then, install some packages we need :
apt update apt upgrade apt install build-essential autoconf libssl-dev libboost-dev libboost-chrono-dev libboost-filesystem-dev libboost-program-options-dev libboost-system-dev libboost-test-dev libboost-thread-dev libevent-dev git libtool pkg-config 
The next one is a bit more annoying. We need Berkeley DB 4.8, and it's a little old. It's packages are in the Debian Squeeze archives, so in the /etc/apt/sources.list file, we need to add :
deb squeeze main 
Then remember to update again, and install the thing :
apt install libdb4.8++-dev libdb4.8-dev 
If you intend to also throw on xorg and a UI, you will want Qt as well. Otherwise skip this last step.
install libqt4-dev libprotobuf-dev protobuf-compiler libqrencode-dev 
Step III. - Build time
#Starting from /home/yourUser git clone -b 0.14-BIP148 cd bitcoin ./ ./configure make make install 
That's it! Well, mostly. Start it with
bitcoind -daemon -disablewallet -datadir=/whereveyou/want/youblockchain 
...and wait about thirty hours to sync with the network. You may want to visit the /whereveyou/want/youblockchain directory and create a permanent bitcoin.conf in there. To enable RPC calls to the server and get it to accept bitcoin-cli commands you'll want to use it to create a usepassword and copy that to your user's /.bitcoin/bitcoin.conf.
Minimal bitcoin.conf example
daemon=1 listen=1 disablewallet=1 server=1 rpcuser=bob rpcpassword=bob's password 
Security I recommend you disable password login and use private key authentication only on ssh, and also restrict iptables rules to the bare minimum that must be allowed for this application. You will need this in your iptables script :
# Allows BITCOIN traffic from anywhere -A INPUT -p tcp --dport 8333 -j ACCEPT # Allows RPC calls to the bitcoin server from localhost -A INPUT -p tcp -s --dport 8332 -j ACCEPT 
Useful ressources :
submitted by the_bolshevik to Bitcoin [link] [comments]

Can some one post developer examples of using bitcoin core to form SegWit address's and transactions?
Is just not helpful to the everyday person. None of the examples actually use Core, nor do they talk about practical minimum changes needed for a real life migration.
A migration guide with real examples using bitcoin-core and testnet would really help people understand what its going to take to migrate.
I read that the RPC is changing how it returns bock data. And this can break many implementations. Is there a list of the other RPC changes?
It would be nice to get this updated with the new 13.1 commands
And I dont see anything in here too,
Im looking for lists of new commands for generating segwit address's or transactions. And perhaps what the new Transactions JSON objects returned will look like
We cant save any space with SegWit unless services actually use it. And a few Cents saved on fee's means nothing compared to headache, money, and effort of paying devs to rewrite their code to use it. So staying ahead of this would be really helpfull to everyone.
submitted by AnonymousRev to Bitcoin [link] [comments]

[Dev] Accounting and the reference client

Bit of an odd update this week, but as the issue is currently highly visible, it seems a good time to say this:
Do not use the accounting system in the reference client for anything important.
If you're not using RPC (the commands listed under ), this probably won't mean much to you, and you can probably safely ignore this post.
While I'm not aware of the full details of the emergency migration of Moolah's platform from V1 to V2, I do know that the accounting system in the reference client was part of the problem with V1. This isn't a Dogecoin-specific matter, this is something we've inherited from Bitcoin Core. The accounting system has a lot of limitations, and the opinion from the Bitcoin Core developers is that it's better to simply remove it ( ) than trying to fix it.
There's no timescale for removing the functionality yet, but you can expect that in time it will be cut out of the client. If you're already using the accounting system for an existing service, please start working on extracting transaction data to your own database, and developing an accounting system from there.
If you're considering writing a new service, please do not attempt to use the integrated accounting system.
If anyone wants to write a framework for extracting transaction data regularly and synchronising it into a database, and running accounting from that database, I believe many would be incredibly grateful.
Beyond that; a 1.7.2 client beta should be out essentially as soon as we get enough developers into a room together to agree it's ready. This brings in a huge number of bug fixes, and will be highly recommended (but still not required) for all users currently on the 1.6 client.
Lastly, we're starting to see UI mockups showing up; the development team are focusing on keeping the reference client minimal, and personally I hope to reduce the interaction with the wallet, not add more to it. Payment protocol will help with this, and ideally I'm hoping we can develop a protocol to allow sites to request addresses from the wallet automatically (without a cut & paste step). Less is definitely more here, especially as any added features increase the amount of code in which subtle security issues can potentially arise.
Others are of course welcome to fork the reference client and extend it. My preferred option would be to consider a stand-alone "Social dashboard" application, if there's definitely a desire to do this, although most of the options listed would work just as well from an HTML 5 website IMHO.
Next couple of weeks are going to be crazy busy my end, so don't panic if you don't hear from me before August. I'll be around, as will the other devs, just perhaps a little quieter.
submitted by rnicoll to dogecoindev [link] [comments]

Open Source web based wallet UI designed for micro-PCs

Hey guys!
Last year I was the developer of a device called the Staker. The person promising me a share of revenue could not come through on his promise of marketing and selling the device.
I have released the source code of the project, and have written a blog post with deployment instructions included.
I'm bringing it to everyones attention so that if there is something I can do to make this more useful, it will be pointed out to me. With the recent popularity of the device, I thought this may be of use to a number of folks as well.
It can work for any cryptocurrency that utilizes the standard JSON-RPC interface and functions found in the original bitcoin source. The list of cryptocurrencies that don't support this interface, is much shorter than the list of them that do. So, it can work with almost any altcoin, as well as bitcoin.
The web app is designed to be ran from a micro-PC that already has the cryptocurrency wallet daemon installed and running. It is also meant to only be used on trusted networks, such as at home or at a private office. The UI and the backend are all password protected, but you are still better off safe than sorry.
There are also some screenshots of the UI here
Enjoy :) Let me know if you :
submitted by kamronkennedy to Bitcoin [link] [comments]

How can I see transaction comments?

In the JSON RPC API ( there's a call named 'sendtoaddress' that gets an input for

I've created a number of transactions but cannot see the comments on my bitcoin-qt or
Any ideas?
submitted by xabbix to Bitcoin [link] [comments]

Has anyone had luck performing Escrow (M-of-N) transactions using either wallet's direct support, or the bitcoind JSON API? supports Escrow natively now, but you've got to enter the public key of all the addresses you want to enter into escrow for the transaction, and their own instructions for how to get the 130 char hex public key from an address in another bci wallet doesn't appear to work.
It says "QR code icon in the receive coins tab", but that does not show a public key at all.. perhaps one day in the past it did?
They mention if all the addresses are already in the present wallet, it will just get the public keys for you.. but an Escrow transaction made from addresses all in the same wallet is kind of useless. :P
The 0.7 bitcoind JSON API also supports all of the calls needed to curate an Escrow transaction: addmultisigaddress to create the receiving multisig address, and createrawtransaction to author and sign the spend transaction(s) involved. (Thanks Ferroh for head's up on this second method. ;3)
So I'm stuck at the "how to see public keys?" step with the wallet solution. I expect I could import one of the wallet backups into bitcoind to read back the public keys, but that defeats all related convenience. And I am trying out the bitcoind solution, but it's slow work blindly groping for the right incantation.
Anyone have any field experience in this bidness? :D
submitted by jesset77 to Bitcoin [link] [comments]

How do I get *any* address info?

On, I can type in any Bitcoin address and see the incoming transactions and the sum etc.
I was looking through the BitcoinD server api (1) but cannot see an api call for anything like that. How do they do it?
submitted by nixle to Bitcoin [link] [comments]

More precise type information in API reference | Dario Teixeira | Feb 17 2015

Dario Teixeira on Feb 17 2015:
Dear Bitcoin devs,
I am the author of OCaml-bitcoin [1], a library offering an OCaml
to the official Bitcoin client API. For those who may be unfamiliar
with it,
OCaml is one of those functional programming languages with a very rich
expressive type system [2]. Given its emphasis on safety, its
users are disproportionally found in the aerospace and financial
Now, OCaml programmers care a lot about types, because experience has
taught them that deep down most programming errors are just type errors.
From this stems my request: please consider defining more precisely the
information associated with each API call in the JSON-RPC reference [3].
To give you a better idea of what I'm talking about, please take a look
the API offered by OCaml-bitcoin [4], and the associated type
[5] (note that these have not been updated for Bitcoin Core 0.10 yet).
I've created the type definitions from information gathered from the
wiki and from looking at the Bitcoin Core source-code. I wouldn't be
if it contains errors, because neither the source-code nor the wiki is
precise about the actual types being used. As an example, consider type
hexspk_t ("hex representation of script public key"). Is this really
same type used in both signrawtransaction and createmultisig?
Improving this situation would pose a minimal burden on bitcoin devs:
that would be required is defining the precise set of types used in the
API, and annotating the RPC calls either in the source-code itself or in
API reference documentation. It would make writing bindings such as
far easier and less error prone, and it would have the added advantage
better documenting the Bitcoin Core source-code itself.
Also, note that it is not necessary to extend this request to the deep
data structures returned by some API calls. Consider for instance the
gettransaction function of the OCaml-bitcoin API: it returns the raw
object without any attempt to process it. This is because that's a
niche facility, and the bindings would balloon in size if I were to
every single large return object. Instead, the bindings take the more
pragmatic stance of only processing the parameters and return results
a strong type discipline is imperative.
When I raised this issue on IRC a number of questions were posed.
What follows is my attempt to answer them:
Q: What does it matter, if JSON only has a tiny set of types?
A: JSON being the serialisation format is irrelevant. The client
 know that even if a public ECDSA key is serialised as a string, it 
 not stop being a public ECDSA key, and should only be used where a 
 ECDSA key is expected. 
Q: What does it matter if the types are not even distinguished in the
 source of Bitcoin Core? 
A: That is unfortunate, because it opens the door to bugs caused by
 errors. Moreover, even if the C++ source is "stringly-typed" and 
 not enforce a strong type discipline, that does not mean that the 
 are not there. Even if a public and private key are both 
 as strings, can you use one where the other is expected? If not, 
 they actually have different types! 
Q: Isn't this a maintenance nightmare, given the changes to Bitcoin
A: Actually, the most burdensome part is what motivated this message:
 keeping track of the types used. If the Bitcoin API reference were more precise, keeping the bindings up-to-date would be trivial and even mechanical, because the API is now fairly stable. 
Thank you very much for your attention, and for all the work you guys
into Bitcoin development. It is much appreciated and not acknowledged
often enough!
Best regards,
Dario Teixeira
submitted by bitcoin-devlist-bot to bitcoin_devlist [link] [comments]

Does anyone have experience with the ruby gem bitcoin-client?

I'm a returning shibe programming pup and have just started to dabble with the ruby gem called bitcoin-client. For those that don't know it implements all the methods on
I'm getting some unexpected and inconsistent results, eg listaccounts shows a blank named account with a negative balance, balance shows my real balance but listaccounts shows the same address having slightly more doge, listaddress also shows an empty address having 40k coins in it.
Is this gem known to be untrustworthy? Should I use something else instead?
submitted by frustrated_coder to dogecoindev [link] [comments]

Compile the Ultracoin Wallet on Linux

Since documentation and how to guides on ultracoin are almost non existent. I thought I could make one to share with you guys. I wanted to set up a Linux wallet (ultimately to make a node), since there are no guides on this specifically, I was lost. After some through googling, I finally got this ultracoind up and running. Here's a guide for ubuntu.
*Update ubuntu
sudo apt-get update
*install git to download the source code
sudo apt-get install git
*install the other necessary components
sudo apt-get install build-essential libboost1.48-all-dev libcurl4-openssl-dev libdb5.1-dev libdb5.1++-dev
*navigate to the home directory
cd ~ *download the ultracoin source code
git clone git://
*navigate to the downloaded files
cd ~ *navigate to the src file in the source code
cd ultracoin/src
*build ultracoind !This will take a while!
make -f makefile.unix USE_UPNP=-
*go back to the home directory
cd /root
*make the directory for the .conf file
mkdir .Ultracoin
*navigate to the new directory
cd .Ultracoin
*make and edit the .conf file
nano Ultracoin.conf
*paste this info in the .conf file
rpcuser="USERNAME" CHANGE THIS TO SOMETHING ELSE rpcpassword="PASSWORD" CHANGE THIS TO SOMETHING ELSE rpcport=44101 port=44100 daemon=1 addnode= addnode= addnode= addnode= addnode= addnode= addnode= addnode=
*Exit out of nano press control X, press y, then press enter
*go back to the src directory
cd /root/ultracoin/src
*start the dameon
./Ultracoind -daemon
That's it!
To find out how to use the daemon, go here
If you run into this error when compiling it -
If this - g++: internal compiler error: Killed (program cc1plus) Please submit a full bug report, with preprocessed source if appropriate. See for instructions. make: *** [obj/main.o] Error 4
it is most likely caused by a lack of ram to libboost
to fix it do this -
cd sudo dd if=/dev/zero of=/swapfile bs=64M count=16 sudo mkswap /swapfile sudo swapon /swapfile
I set this node up on a $5 vps from I cannot guarantee the uptime of any of the nodes listed. I obtained them from my -qt client. Feel free to comment and message me more permanent nodes as I couldn't find any listed for ultracoin.
I am no linux expert, but I believe this information to be correct. If I made any mistakes, please correct me.
submitted by howardrya to ultracoinmining [link] [comments]

Developers: Super-simple jQuery code for making JSON-RPC calls to Bitcoin Client

In working on some proof-of-concept stuff, I ran in to a bunch of issues communicating with the Bitcoin Client server. Though there are a number of existing libraries for both JSON-RPC in general, and communicating with the Bitcoin Client, they're all a bit heavier than I wanted. So, I dug through the source code and came up with the smallest, easiest way to connect to the server using nothing but some Javascript and jQuery:
$.ajax({ url: 'http://RPC_USERNAME:[email protected]:RPC_PORT', dataType: 'json', type: 'POST', contentType: 'application/json', data: '{"method": "API_METHOD"}', // For parameters: //data: '{"method": "API_METHOD", "params": ["PARAMETERS"]}', timeout: 15000, success: function(data) { // Response lives in data.result (data.result.version, etc) }, error: function(oops) { // oops.statusText returns error } }); 
Running this code will access a wallet on the same machine. I haven't done much testing of different calls or error handling, but this should be enough to get you started. Replace RPC_USERNAME, RPC_PASSWORD, and RPC_PORT (usually 8332) with the data set in your bitcoin.conf file, and reference the API calls list to see what you can do. With a properly-configured server, I imagine you could change to a URL or IP and access a web-based client.
This code is 100% open and free for anyone to do whatever they want with it, obviously. No credit necessary. Consider it under a WTFPL License. I will kindly take Bitcoin donations, of course: 1KSEKy3XTRxJd7CqKciSsnx752VRaibBWr. Enjoy!
submitted by 54mf to Bitcoin [link] [comments]

Working on an interface to Bitcoin-Qt's / bitcoind's API calls.

Right now, all it does that might be a bit handy is show you which addresses have how many bitcoins.
Needed: python 2.7, wxPython 2.8
It is a bit rough at the moment, appearance-wise: a screenshot
I made this because the bitcoin-qt wallet does not have a way (that I've seen) to easily see all addresses, including un-labelled ones. There's the debug console, but that isn't really "easy", especially if you have a lot of addresses... I also use Armory, which will show you all addresses, but it is slow to start and a huge memory hog -- and it won't use the original client's wallet.
You'll need to set up the bitcoin.conf file to accept JSON-RPC commands (see this sample conf -- set server=1 and rpcuserpcpassword to whatever; this script will read them from the file)
It should work on Windows, *nix, and Mac, but I've only tested it in Windows.
If there's any interest, I might work on fleshing this out into a fuller interface. There's a lot of API calls that might be of use to someone.
PS: if you can think of a better name than "advbtc" please suggest it; I am terrible at naming things.
submitted by lowpass to Bitcoin [link] [comments]

How do I pay myself from my own p2pool node?

Since all wallets are based off of the original bitcoin wallet, I'm using this page as a reference. I'm running my p2pool node on Xubuntu 12.04. I open up terminal and type in:
monocled getbalance
It shows that I have a balance of 50.00000000
monocled listtransactions
This command is telling me that both blocks are mature
monocled validateaddress
This tells me that address (which I generated separately from the p2pool node's computer) is a valid address and is not a wallet that belongs to the server wallet.
So the question becomes, how do I send the payments in my p2pool node's wallet to my wallet/valid address ?
It looks like there are three different send commands and the wiki doesn't do a good job of explaining why I would use one send command over the other.
submitted by web_runner to vertcoin [link] [comments]

BIP171 - Mocked implementation, generated specs, live API and 16 clients libs /r/Bitcoin

BIP171 - Mocked implementation, generated specs, live API and 16 clients libs /Bitcoin submitted by ABitcoinAllBot to BitcoinAll [link] [comments]

The simplest explanation is usually the right one (Occam's Razor): "Willy" was not a conspiracy. It was exactly what Mark Karpeles said it was: a bot/API for high value clients. [x-post /r/bitcoin]

Original thread
submitted by toshiromiballza to BitcoinMarkets [link] [comments]

bitcoinj experiments to implement a client/server for bitcoin based API payments

bitcoinj experiments to implement a client/server for bitcoin based API payments submitted by derbumi to Bitcoin [link] [comments]

Bitcoin from the Command Line - Sending Bitcoin Transactions Programmatically with Javascript 1 min BitMinter Setup How To Create YouTube API Key API ID and Secret Key for Kodi Add on How to call Binance API in Javascript in less than 10 lines of code Bitcoin JSON-RPC Tutorial 1

Bitbox based developer platform and resources Create amazing and powerful Bitcoin Cash applications on the client or server with full mainnet and testnet support. Custom REPL with the full BITBOX and Bitcoin Cash JSON RPC API built in. Test your ideas quickly with no overhead. More. $ ./bitcoind -daemon bitcoin server starting $ ./bitcoin-cli -rpcwait help # shows the help text A list of RPC calls will be shown. $ ./bitcoin-cli getbalance 2000.00000 If you are learning the API, it is a very good idea to use the test network (run bitcoind -testnet and bitcoin-cli -testnet). JSON-RPC 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 - v0.9.3 - 0.10.2 v0.11.0+ Or choose your operating system. Windows exe - zip. Accordingly, the only thing you need to accept bitcoins is a bitcoin client on the server. It is called bitcoind, it’s just a console version of the client, with all the same familiar functionality. It works through the JSON-RPC protocol, is located under port 8332. All that remains after installation is to set up the client and Node.js. Blockchain Bitcoin Developer APIs - Python. Contribute to blockchain/api-v1-client-python development by creating an account on GitHub.

[index] [32874] [11726] [12989] [28465] [528] [47913] [1799] [32710] [36130] [36920]

Bitcoin from the Command Line - Sending Bitcoin Transactions Programmatically with Javascript

1 min BitMinter Setup. This is by far the fastest way to begin mining Bitcoin, with minimal setup and configuration. In this video I will teach you how to set up one of the most popular and super ... An introduction to the Bitcoin JSON-RPC tutorial series. BTC: 1NPrfWgJfkANmd1jt88A141PjhiarT8d9U. How To Accept Bitcoin On Your Website For Free With Shared Hosting - Duration: 27 minutes. 245 views; 1 week ago; 6:59. How to Monitor and Spend From Bitcoin Brain Wallets - Duration: 6 minutes ... Bitcoin NodeJS Tutorial. Intro to NodeJS including installation, creating a basic http server, and fetching the current bitcoin price. This is an Video tutorial just to Show you how you can Setup Trading Platform with the Help of C# API's ... C# REST Client - Duration: 24:28. Les Jackson 190,211 views. 24:28.