A Bitcoin blockchain indexing and query service. Intended to be used with as a Bitcoin full node or in conjunction with a Bitcoin full node.
From the first line of the README. It’s an out of date wrapper on Bitcoin that’s 3 years old at this point and would be inadvisable to use for anything.
I think to have figured out that the public keys in P2PKH-transactions scripts begin with 76 all the time, is that enough to determine the type as P2PKH?
No. The 0x76 is the number of the first opcode, OP_DUP. A full P2PKH transaction has the template OP_DUP OP_HASH160 0x14 <pkh> OP_EQUALVERIFY OP_CHECKSIG.
Lastly, i wanted to ask, what other ...
There have been only two large re-orgs in Bitcoin's history. The first is the value overflow incident in August 2010 that caused a re-org of 53 blocks and the March 12, 2013 fork that caused a re-org of 24 blocks.
Value Overflow Bug
On August 15 2010, it was discovered that block 74,638 contained a transaction that created 184.4 billion bitcoins for three ...
I want to know why the two tools are giving different results
Bitcoin Core uses hardened derivation to derive child private keys from the master private key. You can check the embedded link for more details, but in summary it means that the software uses parent private keys within the hash function to generate child private keys. This compares to non-...
The tlv_payload is a modification to the way onion packets are created between the 1.0 version and the 1.1 version (current working version) of the BOLT specs. The (optional) feature is named var_onion_optin in BOLT#9.
In V1.0 of the spec, there was a fixed structure for sending onion payloads to hops along a route, which contained a short_channel_id, a ...
In a sense, such a command would be trusting a third party: any putative answer would be that given by whoever supplied that code to you; and it may not be trustworthy - it could tell you it was 21 million, but behind the scenes actually use, say, 42 million.
The nearest you could do would be to download the source code from a proper source and, having ...
It refers to actual disk space. RAM is memory, not storage. The term "disk space" is very specific.
Then a while later this:
[2020-01-20T09:05:59Z Reindexing finished]
But bitcoind continued grinding on... Well then what is all this? ::
Your node was not fully synced, so after it finished reindexing the blocks on disk, it continued to download ...
Conversion from a HD seed to a master private key is specified by BIP 32.
It is done by computing a HMAC-SHA512 where the key is the text Bitcoin seed and the data is the HD seed itself. The first 32 bytes (256 bits) is the master private key. The last 32 byte is the chaincode for the master key.
As pointed out by Peter in the comments of your question, you will need to wait until your node has synced with the longest chain. At the time of your comment, you are 169,245 blocks behind which, unless your transaction took place ~3 years ago, will not be known to your node yet. As soon as the block containing your transaction is verified by your node, you ...
Lastly, i wanted to ask, what other transaction types i could come across? I need to parse every transaction script to an address 100% correctly, thus i need to cover all possible cases.
This is not possible, as not all transaction scripts correspond to an address.
Addresses are a human convenience feature, and only cover the following formats:
This is a common issue for any service with BTC incomings/outgoings.
The answer is simply to consolidate all your inputs in a large transaction all at once, so you remove possibly hundreds of small outputs, and get one big at the end.
Usually people do this semi-regularly, though you also see people waiting until mempool fees are super low.
One reason ...
From within the GUI, no, and this is intentional. There is no reason to use P2PKH addresses anymore. If you need backwards compatibility, then that's what the P2SH checkbox is for.
But if you really must have P2PKH addresses, you can configure Bitcoin Core to only use them by adding addresstype=legacy to your bitcoin.conf file. If you want your change to ...
Running a pruning node simply means enabling the prune setting.
In Bitcoin Core, that can be done either in the bitcoin.conf file by adding a line "prune=N" (where N is a number in megabytes), or through the Qt GUI in the settings screen.
Electrum is not a full node, and never downloads or verifies blocks at all, so there is nothing to prune.
There is no ...
1) Which secure full node wallet implementations exist? Currently I just know of bitcoin core. Is there not any other one with a GUI?
I don't know of any others, apart from forks of Bitcoin Core like Knots. See https://bitcoin.org for an overview of various types of wallet software.
2) Can you use a Ledger device with those full node wallets?
What other full node wallet apps are available to select from for bitcoin?
See https://bitcoin.org/en/choose-your-wallet for a reasonable list
Is it mandatory to have an own server when using a full node wallet
Not really. Some wallets have an API that allows other software to interact with the wallet but the wallets are generally usable directly for ...
1) How can you run a full node wallet with electrum? what do you need? Or please link me to an understandable guide for that
This probably should be a separate question.
2) Do you have to be online always or can you set it up, fund your wallet, and leave it offline for months, and just from time to time use it for transactions?
You can use it only ...
"fundrawtransaction" and "walletcreatefundedpsbt" are wallet RPCs. They add inputs and change outputs from your wallet to aim for a specific feerate for the transaction.
These operations inherently require the relevant wallet. Change addresses are generated by the sender's wallet, and inputs have to come from the wallet of the sender. If you don't have that ...
Well "wallet" as storage of keys should always be under your control. There are online wallets for higher convenience, but as the old saying goes "not your keys, not your bitcoin". It's probably a bad term, but I'd rather say "local (SPV) node" instead of "wallet".
When you are sending there is no problem with malicious peers as the transaction is (usually) ...
Block tree is stored on-disk. During startup, is read into memory. When read, BlockManager::m_block_index field is filled with data - CBlockIndexes. Every CBlockIndex contains memory-only field arith_uint256 nChainWork, which is a total amount of work in the chain up to (and including) current block.
Best chain is selected as maximum among all nChainWork of ...
You need to take a look at how fee_estimates.dat is written and interpreted. Basically it's composed of:
With CURRENT being "when writing", i.e. when stopping bitcoind.
Here is the method writing the file, and here is the method reading this file (at startup). I ...