10
votes
Is there a reference, authoritative resource or book on Bitcoin programming?
I was asked by Hasan Hasan, a junior developer, which of the following three books I'd recommend. Personally I think all three books are fantastic (I would recommend them all) but they do approach the ...
10
votes
Accepted
How to find all UTXOs?
With vanilla Bitcoin Core, there is no efficient way to do this.
I see two options:
a) Slow and very inefficient RPC loop (not recommended)
Get the genesis block hash (RPC getblockhash 0)
Get the ...
9
votes
How to fork Bitcoin and build own cryptocurrency
There is a Complete Guide on How to Create a New Alt Coin on Bitcoin Talk.
8
votes
How to fork Bitcoin and build own cryptocurrency
Here is a guide: How to Fork Bitcoin (create your own chain).
I really think Bitcoin as a concept is unique and powerful, and the project is well maintained by very talented developers, so I wanted ...
8
votes
Accepted
Is there a bitcoin api?
There are many.
If we define an Applications Programming Interface (API) as any kind of software interface between computers or programs then the following apply.
Bitcoin network protocol. You can ...
7
votes
Accepted
Would more Full Nodes help scaling and transaction speed?
No, the number of full nodes is decoupled from capacity and fees.
Transaction capacity is a function of transaction size and blocksize. Blocks occur roughly every 10 minutes and have a fixed size. ...
7
votes
Accepted
Programming Languages used
I think you are confusing some things here. A blockchain like Bitcoin, Ethereum, Ripple, or Hyperledger is a protocol in first place. And a protocol is agnostic to programming languages used.
What ...
6
votes
Accepted
How would the gossip protocol announce channels from a channel factory?
Pretty much everything would stay the same. If you look at the relevant messages channel_announcement and channel_update we have the following formats:
channel_announcement
type: 256 (...
6
votes
What are the major technical differences between Bitcoin and Bitcoin Cash?
Bitcoin
Has SegWit and it's benefits and costs:
Code complexity (of acceptable amount)
Witness data is discounted in SegWit transactions, somewhat rectifying the fact that outputs are cheaper to ...
Community wiki
5
votes
Accepted
What IDE to use for Bitcoin development?
Bitcoin Core uses the autotools build system, but CLion only supports projects using CMake, so you can't use Core with CLion. You should be able to use Core with Eclipse CDT and NetBeans as those ...
5
votes
Accepted
Merkle Root for 1-transaction block!
The merkle root of a block is the hash of all of the transactions. If there is one transaction, then the hash of all of the transactions is the hash of that one transaction. So the merkle root and the ...
5
votes
How are eth transaction faster than btc?
Most simple and foreseen reason:
Bitcoin's blocktime is set at 10 minutes,
while Ethereum has a block every 10-20 seconds, making it much faster.
See Ghost protocol, https://www.cryptocompare.com/...
5
votes
In Bitcoin source, what is the UniValue objects purpose?
UniValue is a type that encapsulates a JSON value.
It is only used for communication with external utilities through the RPC interface.
5
votes
Accepted
What languages can I write plugins for c-lightning in?
Plugins can be written in any language as long as a client library for that language exists.
The command line API and the Plugins communicate with lightningd over a unix domain socket using JSON RPC ...
5
votes
Script Bitcoin represent number > 16
You only need to use OP_PUSHDATA1 if you are trying to push more than 75 bytes of data onto the stack.
For pushing smaller sized values onto the stack, you can use the opcodes 0x01 to 0x4b to ...
5
votes
Accepted
How Bitcoin nodes validate a new wallet
How Bitcoin nodes validate a new wallet
They don't
Bitcoin nodes validate blocks and they validate the transactions within those blocks
Other nodes don't have access to your wallet and can't validate ...
4
votes
How to fork Bitcoin and build own cryptocurrency
There are some tutorials out there, check out:
https://bitcointalk.org/index.php?topic=225690.0
If that one is not sufficient let me know, and maybe I'll write one up.
There are also a lot of coins ...
4
votes
Accepted
Is it possible to autoforward bitcoins to another address?
Why do you need to forward the coins to a different address? You already control the private keys for the address that they were sent to, no need to move them to another address in your wallet. All ...
4
votes
Is there an API that exchanges USD to Bitcoin?
This looks like a service that does what you're asking for, if I'm understanding your ask and this page correctly: https://developers.coinbase.com/docs/wallet/guides/send-receive
This would require ...
4
votes
Accepted
Is the UTXO set size important for non-mining full nodes?
The main motivation cited is reducing block orphaning
Where do you see this being cited?
AFAIK, the motivation is to reduce the resources required to run a full node which has nothing to do with ...
4
votes
The complete indifference by Bitcoin people is making me lose my enthusiasm for Bitcoin
I could write an essay addressing each of your points but I don't think it is worth my time.
If you want price to go up just wait for the next bull market. The market doesn't care about software ...
4
votes
Accepted
A Bitcoin locking script to force a certain payment to the receiver?
No, that is not possible, and doing so can be problematic.
Such scripts would need the ability to inspect the spending transaction and this is currently not allowed or possible; the script interpreter ...
4
votes
A Bitcoin locking script to force a certain payment to the receiver?
While Bitcoin does not currently have any covenants, BIP119: Checktemplateverify proposes a new op-code that would allow you to do exactly that.
The proposal is currently in "draft" status.
4
votes
Accepted
Why should BIP157 compact filters be processed in-order?
A HD wallet doesn’t know what indexes of a seed to scan for until the ones prior have been used, which can’t be discovered out of order. To allow for out of order scanning the address gap limit would ...
4
votes
Accepted
Is there a difference between OP_PUSHBYTES and OP_PUSHDATA
In what documentation? I believe you are talking about how rust-bitcoin refers to the OPs > OP_FALSE and < OP_PUSHDATA1 and will answer as such.
There are multiple OP codes pushing bytes to the ...
4
votes
Accepted
Problems about update of protocol of bitcoin
The general approach to Bitcoin protocol updates is to maintain forward and backward compatibility with the prior consensus rule set on the network.
In fact, Bitcoin's protocol stability is considered ...
4
votes
How to call `getblocktemplate` without running a full node?
To create a valid bitcoin block, you will need a view of the current network state. Otherwise how will you know what the previous valid block was, or what transactions are valid and worthy of being ...
4
votes
Accepted
Do I need to download the entire blockchain in order to use bitcoin-cli?
For testing, you can run your node on testnet or signet which have much smaller blockchains, or run on regtest where there is no blockchain to download. If you need to run on mainnet but don't want to ...
3
votes
Is Blockchain safe to store personal information?
Usually hashes are what's stored in the blockchain, not the data itself. It's safe to store hashes because it's extremely difficult to reconstruct a message given its hash (the so-called pre-image ...
3
votes
Accepted
How can I verify my merkle root function is correct?
Most likely, you have some endian-ness issues. Remember that the merkle root published is in little-endian and so are the transaction hashes. You'll have to reverse them and then calculate merkle ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
development × 452bitcoin-core × 50
transactions × 47
protocol × 46
wallet × 36
blockchain × 33
bitcoind × 32
client × 28
api × 28
script × 24
json-rpc × 21
address × 20
mining-pools × 19
bitcoin-core-development × 17
altcoin × 16
testnet × 15
python × 11
private-key × 10
exchanges × 10
mining-theory × 10
multi-signature × 10
website-integration × 10
block × 9
currencies × 9
ecdsa × 8