Stack Exchange Network

Stack Exchange network consists of 175 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.

Visit Stack Exchange
6

Really getblocks should have been called getblockhashes , as the response contains just block hashes, not full blocks. Every block can be observed in three different ways: The full block, containing all transactions and header information. The block without the transactions, but just the 80-byte header which includes a Merkle root committing to the ...


5

BIP 39 is not in Bitcoin Core largely for implementation reasons and because BIP 39 is not as secure as it could be. The structure of Bitcoin Core's wallet doesn't really allow for BIP 39 to be implemented. The current structure doesn't allow for 512 bit seeds as BIP 39 specifies, and adding it would require some significant changes to the wallet code. ...


4

Everything MCCCS wrote is good, but just to clarify on your last question: How many nodes must approve/verify the winning hash before it is accepted into the bitcoin network as the next block to be added? This question is slightly misguided: there is no 'accepting a block into the bitcoin network', because this assumes there is some network-wide ...


3

If a fundamental bug is found in bitcoin Bitcoin is mainly two things A set of Network protocols and associated rules by which Bitcoin wallets can interact with each other and by which mining software can interoperate with other bitcoin software. A reference implementation of a Bitcoin wallet. This is the "bitcoin core" software application. Network ...


3

The wtxid and txid are the same if and only if the transaction does not contain any segwit inputs. The wtxid is the hash of the entire transaction including all segwit data (i.e. the marker and flag bytes and the witness fields themselves). The txid is the hash of the non-segwit parts of the transaction. Because a transaction that does not have any segwit ...


3

sha256.h has the exported (visible from outside) methods and functions. To compute SHA256, you should #include that. sha256_sse4.cpp sha256_sse41.cpp sha256_avx2.cpp sha256_shani.cpp contain SHA256 transform functions (used in SHA256.Write), each specialized for different processors with different instruction sets. Above is the list in order, most of the ...


3

3: Each node has its own mempool. Each node validates the new transactions that they receive when they receive. 4-5-6: Nodes don't mine, miners do. Miners never stop, and each [some interval] they fetch a new block template from the pool operator's node, wh[ose merkle hash] includes new transactions. When they find a block, it is published and transactions ...


3

The two modes don't just unconditionally return the same thing. They do different calculations and can return different results under certain conditions, particularly when fees are very variable for low confirmation targets. The current fee situation just makes it so that the estimator ends up using the same values for both modes.


2

If you're building from source, you can select a specific version as follows: First, review the build requirements, dependencies, and instructions for your OS: https://github.com/bitcoin/bitcoin/tree/master/doc Once that is done, use git to pull the source code and select a branch: ## clone the bitcoin repository $ git clone https://github.com/bitcoin/...


2

It's a native segwit output. 0x00 signifies the segwit version (which is v0 in this case), 0x14 is the bytes to push and 2f82e61a98eb7027672760c691784d5fbccf7ce3 is the hash160 of the public key. Native segwit addresses uses bech32 encoding as defined in BIP 173 and begin with bc1. Use this for reference implementations in various programming languages. The ...


2

getaccount command was deprecated in Bitcoin Core 0.18, the wallet uses "labels" now. When the wallet was created, it created a seed for you. This is used to generate the addresses in a BIP32 heirarchy. To generate the first address, you can use the getnewaddress command, followed by an optional label (to save the address in the address book), and an ...


2

If you have a wallet that isn’t opened for the period of pruning, it won’t be able to scan transactions. If you set the limit to 2GB, and 4GB of blocks pass without opening the wallet, it may miss incoming transactions as the required blocks will have been deleted.


2

It does not necessarily have to be a hard fork. The only way to update or fix an issue in Bitcoin is to push out updated node software, with an update protocol definition. However, not all changes to the protocol result in a hardfork - many can be, and have been, achieved by way of softforks, which are "backwards compatible" in some ways, allowing nodes ...


1

You aren't doing anything wrong. This behavior is expected for Bitcoin Core 0.18. The Pull Request allowing private keys to be derived from descriptors and imported with importmulti was merged recently. This functionality will be included in Bitcoin Core 0.19.


1

See the 0.18 release notes (https://bitcoin.org/en/release/v0.18.0#configuration-option-changes): The rpcallowip option can no longer be used to automatically listen on all network interfaces. Instead, the rpcbind parameter must be used to specify the IP addresses to listen on. Listening for RPC commands over a public network connection is insecure and ...


1

A pruned node will always catch up, whats the hassle? The issue stems from having Bitcoin Core opened but the wallet in question is not loaded in Bitcoin Core (because you closed it). Bitcoin Core will continue to be synced and receive new blocks and transactions. However, it will discard old blocks once it has stored the configured amount of block data. ...


1

CSHA256 itself mimics OpenSSL's SHA256_CTX, and its constructor mimics the Init function. The Write method corresponds to the Update function. The Finalize method matches the Final function. In short: you construct a CSHA256 object, call Write any number of times to feed it bytes to hash, and then call Finalize to compute the resulting hash.


1

Bitcoin core automatically generates your first bitcoin address for you but you can create as many new ones as you want. This is outdated. An address is no longer created for you by default. You can create an address from within the Receive tab by clicking the "Create new receiving address" button. Here is what I see: You are looking at the Sending ...


1

After much searching, I found the bit of code that uses "Bitcoin seed". So yes, Bitcoin Core uses the string "Bitcoin seed" in tandem with a random seed. https://github.com/bitcoin/bitcoin/blob/d0f81a96d9c158a9226dc946bdd61d48c4d42959/src/key.cpp#L302


1

Use getreceivedbylabel. It takes label and minconf as arguments. label is the label, and minconf is the minimum number of confirmations for a transaction to be considered for inclusion in this value. The default is 1 confirmation.


1

Yes, bitcoin have a simple but working scripting language so why not ? The most famous one is Bisq


1

Have you tried to reduce storage with pruning mode? https://bitcoin.org/en/full-node#reduce-storage


Only top voted, non community-wiki answers of a minimum length are eligible