New answers tagged

0

It was discussed at an anonymized Sydney Socratic Seminar in July. I'm assuming MacOS will continue to be supported but it is becoming harder "to build and distribute binaries in the completely reproducible, trustless manner" that Bitcoin Core would like to. Apple is introducing these notarization requirements where we would have to build our ...


1

Of course. QT, the GUI framework Bitcoin Core uses, is one of the most portable GUI frameworks. Sooner or later, Apple Silicon support will be added. Meanwhile you can track the progress here: https://bugreports.qt.io/browse/QTBUG-85279 Then Core developers will do the rest: https://github.com/bitcoin/bitcoin/issues/20371


6

At the protocol level, Bitcoin has no concept of "balances" or "addresses", and their common interpretation isn't relevant during verification. Every transaction spends "coins" and reforges them into new "coins" (called UTXOs). Every UTXO has a value (in number of satoshis) and an locking script. UTXOs are always spent ...


1

The "01" byte at the end is the sighash type byte (specifically, 01 means SIGHASH_ALL, indicating that all inputs and outputs are signed). Such a byte is required for all signatures in Bitcoin scripts (both in legacy and segwit signatures). However, that byte is part of the DER-encoded signature; it's appended to it. Presumably your hardware wallet ...


1

While my answer doesn't cover the "auto" part of your question, to load multiple wallets on Bitcoin Core restart, add this to bitcoin.conf before restarting: wallet= wallet=second wallet=third Full path isn't required if you created the wallets in the default directory (aka datadir). The wallet= line is necessary to load the default wallet. Make ...


1

No, only Schnorr signatures are supported.


0

https://github.com/bitcoinjs/bitcoinjs-lib Bitcoinjs-lib lets you create and sign transactions


0

Probably you are limited by slow hard drive. Even if you're pruning, the hard drive is still accessed. That means you should get a SSD hard drive. There's a tool on Linux called iostat you can use to see where your computer is spending the most time. iostat -y 1 # will repeat at 1 second intervals If your operating system is installed on the non-SSD, then ...


0

Increasing the computer's memory will not speed up the process. You can copy the bitcoin directory to another disk, install bitcoin core and it will continue from where you already downloaded. On a Linux system it's on $HOME/.bitcoin To carry data in the safest way I would use rsync: $ rsync -avhSP /home/user/.bitcoin/ /mnt/external_disk/home/user/.bitcoin/


0

2MtLR5mKgWRZBYtCYiSuaKpTUSuney9Cg2V is your new address which is derived from scriptHash 0x0bf37781383277cbb4e544c402f5265a51f4d8289. Go all the way back to step 2 and send 0.005 & 0.004 to 2MtLR5mKgWRZBYtCYiSuaKpTUSuney9Cg2V. scriptPubKey of those transactions will be both OP_HASH160 0bf37781383277cbb4e544c402f5265a51f4d828 OP_EQUAL. Retrieve those ...


1

As long as the underlying OS image is susceptible to changes, you will not get a reproducible build system that guarantees reproducibility over a long period of time. If the OS can update compiler toolchains, libc versions and whatever tools are used during a gitian build, changes in the future to the output are expected. Since this is the case since gitian ...


3

Debugging print options can be changed without a restart.


1

Your redeem script hash should be: RIPEMD160(SHA256(0x522103e33af80b92e4efd64852166d6126e10aafdcc741579c67c6aa9eb89080cebeb22102df4bf6a54f79b333b7796d2941de13b1755c00c09f4dbf696c7729aea29462102102c099a12b6cba679ad56d8e793847f422634bc84b42cb3fae0b00a6943f56921253ae)) = 0bf37781383277cbb4e544c402f5265a51f4d828 Which results this address: ...


5

I've done a rebuild of 0.20.1 and I get the same results that you do. This would indicate that a build dependency has updated to produce slightly different results than the version that was in use at the time of the release. The build dependency versions are pinned unlike the actual software dependencies. IIRC this is common for gitian builds and attempting ...


1

PSBT uses Base64 encoding. As every Base64 character has 64 = 26 possibilities, they can store 6 bits of information. The ConvertBits function you link to takes input bytes (which consist of 8 bits each), and rearranges them into groups of 6 bits, which are then mapped to the Base64 character set. ConvertBits<A,B> is not converting from base-A to base-...


2

The design/structure of a paper wallet is not something is set in stone, but the main idea is writing public and private key pairs on a piece of paper. The universal flow for generating an address is: A public key is derived from private key A bitcoin address is derived from public key The common flow (Mnemonic) for generating an address is: Master ...


2

During 2017 and 2018 there were a number of Bitcoin hard forks starting with Bitcoin Cash (BCH) but quickly followed by other altcoins (Bitcoin Satoshi Vision, Bitcoin Gold, Bitcoin Diamond etc). If you owned Bitcoin on the Bitcoin blockchain you would receive the same amount on these hard forked chains. As with the vast majority of altcoins, they relied on ...


1

I highly recommend bcoin: https://bcoin.io/ https://github.com/bcoin-org/bcoin It is a nodejs library that can also run a fully validating node, SPV node, and BIP44 wallet. It's used in production by many long-standing bitcoin companies such as Purse.io You can even use the bcoin client to make RPC calls to bitcoin core, and of course you do not need to run ...


0

You can make the following query on Github https://github.com/search?q=bitcoin+core+javascript As result, you have the most popular library that exists at the moment! I used bitcoind-rpc by bitpay and worked well for me, but can exist some other library that works for you just search on github/gitlab and another repository.


1

I believe you're confusing units here, and entered a value intended as sat/vB in a place that expects sat/kvB. Perhaps you intended to use 40 sat/vB (=40000 sat/kvB, or 0.0004 BTC/kvB), which would translate to around 10000 sat (or 0.0001 BTC) for a typical transactions. When interpreted as 40 sat/kvB, it would be far below the minimal relay fee on the ...


0

Many thanks to Pieter Wuille for his quick help. I got confused with units. The correct input would have been some ten thousand satoshis for bitcoin-qt is calculating in Kilo Bytes.


0

Bitcoin is developed as an open source project managed by BitcoinCore. They write the code and review commits. They could push backdoors but there is peer review to circumvent this issue. Also, nodes need to run their new software. As soon as someone outside BitcoinCore discovers the malicious code, entire mining pools would stop running the newest version ...


6

Bitcoin has rules without rulers. Bitcoin has many groups of people who independently write software that implements those rules. Software There are many different groups of people who independently create Bitcoin software. For example there are many different wallet programs/apps. The developers of any piece of software usually don't have the ability to ...


1

BIP 342 does not add any of these opcodes, and it is not possible to perform elliptic curve operations in it. The only new/changed opcode semantics in BIP342 are: Schnorr signatures instead of ECDSA. OP_CHECKSIGADD instead of OP_CHECKMULTISIG(VERIFY). OP_SUCCESSx opcodes for future extensibility Unknown pubkey types for future extensibility. Changes in ...


1

Firstly you need the computer, disk or whatever device your wallet was stored on. If you have that finding your wallet should be easy. Just search for it. How to do that depends on hardware, operating system and so on.


0

Generally, the wallet shipped with Bitcoin Core only keeps copies of any transactions that directly involve the wallet. When you import a key, your node scans the entire blockchain to see if any transactions involved that key. A pruned node has processed the whole blockchain, but only keeps the tail end of the data. This means that when you import a private ...


0

I have accidentally made a transaction with a very low fee (5 sat/byte) and I doubt that it will be confirmed any time It may get confirmed in few hours/days based on the fee distribution of mempool I see at https://btc.bitaps.com How can I change the -mempoolexpiry setting in my BitcoinCore (0.20.1), which I run on Windows 10, so that I don't need to wait ...


7

This is implementation dependent, but in Bitcoin Core there is not just a single UTXO set: The UTXO set on disk in the chainstate/ directory in a database. It corresponds to the state as of the last flushed block (and does not include the effects of any mempool transaction, or of any block since the last flush). The in-memory coins cache is a cache on top ...


4

This cannot happen. Every block contains at least a "coinbase" transaction that distributes the subsidy and fees to the block's miners. Blocks without coinbase are invalid, even if the subsidy were 0.


0

If you are using Ubuntu or Debian (or any derivative) then I highly recommend the bitcoin standup scripts from blockchain commons. If you can't read shell scripts then maybe its not the best option but you can certainly learn from it and type the commands one-by-one. I use them and they work pretty well. You can google "github blockchaincommons bitcoin ...


1

Yes you need to provide the UTXO details when building a transaction in bitcoinjs. One should not have to trust a library to provide blockchain data, the library works like a calculator and processes the data that it is given. It's not unreasonable at all, these details are easy to get from your node or an explorer.


1

Bitocin Core does not support importing xPub but it does support importing batches of addresses. You can generate a large set of addresses from the xpub (external, change etc.) and import them with one call importmulti


0

Is it possible to perform createrawtranscation , signrawtransaction and sendrawtransaction rpc call using bitcoin in prune mode? Yes I did the transactions in below link using pruned node: https://bitcoin.stackexchange.com/a/99679/103136 rescanblockchain might be required if you are using any imported addresses in the transactions and it will work only for ...


0

OK, so I had several backed up .dat files on google which I put in opentimestamps Bitcoin core stores wallet data ina file named wallet.dat so that was one of your .dat files. Opentimestamps is just a service that provides proof that a document existed on a specific date. It doesn't store the contents of the documents. You therefore have proof that your ...


2

As far as I'm aware, there are currently no formal proposals to introduce Full RBF. Therefore, I'm expecting that the default behavior of upcoming nodes will remain to forward and create transactions according to the rules specified in BIP125, Opt-in RBF.


2

I think you are somewhat confused on what you want to build. You can either (try to) build an exchange that sources Bitcoin from an exchange like Coinbase or Blockchain and then sells them on for a markup. Or you can build a P2P exchange like Bisq, Paxful, LocalBitcoins etc. If you do the former it isn't P2P and it is subject to limits enforced by the API ...


1

BIP 341 answers this. It is generally important to be able to prove that the internal public key that you choose is a point with an unknown private key. Otherwise a malicious party could hide a key path spend in the P2TR address, pretend not to have the private key for that internal public key but actually possess it. BIP 341 also provides instructions on ...


0

You can use the below format for importprivkey: importprivkey "mykey" "" false


0

I think your choices are Restart your Bitcore-core node with adequate diskspace and pruning mode disabled, wait for it to sync all over again and then use importprivkey or Import or sweep your private key into a different wallet such as Electrum. Optionally transfer the money back to your Bitcoin-core wallet. This might be quicker but you won't get the full ...


0

Can bitcoin-core wallet be used as the backend for a mobile wallet app? Yes Using one of the libraries to create app will be better approach in my opinion. Examples: BitcoinJ : if using Java to create the app NBitcoin or NBXplorer : if using C# to create the mobile app


0

You can modify below script to filter the results and see only UTXOs with more than 1 BTC: https://github.com/in3rsha/bitcoin-utxo-dump Or you could use API of one of the open source bitcoin explorers to achieve this: https://github.com/dgarage/NBXplorer https://github.com/Blockstream/esplora


0

Learn from other people's past mistakes Some good advice is at https://bitcoin.org/en/secure-your-wallet#encrypt Encrypt your wallet Encrypting your wallet or your smartphone allows you to set a password for anyone trying to withdraw any funds. This helps protect against thieves, though it cannot protect against keylogging hardware or software. Never forget ...


0

Bitcoin-core (the full node implementation that makes up the majority of the network) does not keep an index of all addresses and balances, so without writing additional code to do the job, it is not possible. Bitcoin-core keeps track of coins via the UTXO model-- the idea of 'an address with a balance' is just an abstraction of this that makes for a more ...


Top 50 recent answers are included