Episode #125 of the Stack Overflow podcast is here. We talk Tilde Club and mechanical keyboards. Listen now

Hot answers tagged

13

You can do getnewaddress as many times as you want. The keypool parameter just sets how many extra keys the client creates when it needs to create keys. With keypool set to 1, the client will create one extra key every time it needs to create a key. Setting keypool low will keep your wallet smaller. But it will mean you have to backup your wallet more often ...


9

Changing these 2 lines gets what you want. Note that it's quick and dirty and will break non-testnet, so don't use this for anything but testnet: diff --git a/src/main.cpp b/src/main.cpp index a9311e2..b3496a1 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -780,7 +780,7 @@ int64 static GetBlockValue(int nHeight, int64 nFees) } static const int64 ...


9

You can use the invalidateblock RPC commands to create blockchain forks. invalidateblock hash tells a node to consider hash invalid, so just generate a bunch of blocks, invalidate one somewhere down the chain on one of the regtest nodes, and have that node generate a bunch more to create a fork. See qa/rpc-tests/mempool_resurrect_test.py in the Bitcoin ...


9

There is a ban mechanism which is handled in net.cpp. Any node which misbehave by more than -banscore (defaults to 100) is banned for -bantime (defaults to 60×60×24 seconds = 1 day). However, nodes with a local ip address are exempted, and for those a warning is shown in the logs after each misbehavior. Also bans are not persistent, they are lifted when ...


7

The keypool is a collection of unused addresses in your wallet. The keypool parameter tells the client how many unused addresses to keep in its pool. Almost every time you send a Bitcoin payment, some change is generated and sent to a previously unused address. If you have a keypool, then each time a new address is needed one of the keypool addresses is ...


4

There are a number of more complex alternatives under discussion which involve more elastic limits (instead of the hard limit which currently exists), automatically adjusted limits based on some metric in the blockchain, or some combination of both. More complex alternatives mean more complex code and more potential for bugs. They certainly could and should ...


4

I'd suggest starting here: https://bitcoincore.org/en/2015/12/23/capacity-increases-faq/. There's also a SegWit adoption page on the site somewhere. Finally, this article has some details on recent testing: http://www.coindesk.com/bitcoin-scaling-segregated-witness-expected-launch/


4

I managed to test forks by creating 3 reg test nodes. One node is used to interface with my software, and two other nodes are used to hold competing blockchains. The regtest mode starts each node with no connections to begin with, so they are completely isolated. I can use "sendrawtransaction" and "setgenerate" on these isolated nodes to create competing ...


4

Testnet code has been modified to lessen the impact of fluctuations of hashing power mining against testnet: http://github.com/bitcoin/bitcoin/pull/686 If you wish to test against your own testnet, or think you might interfere with others needlessly, then Testnet-In-A-Box is for you. Now this doesn't mean you shouldn't use Testnet -- especially if you ...


3

On testnet I get the following dump: Miner -> bitcoind POST / HTTP/1.1 Authorization: Basic Y2RlY2tlcjphYmMxMjM= Host: localhost:18332 Accept: */* Accept-Encoding: deflate, gzip Content-type: application/json X-Mining-Extensions: longpoll midstate rollntime submitold X-Mining-Hashrate: 583000000 Content-Length: 45 User-Agent: cgminer 2.8.1 {"method": "...


3

Checkout the updated Testnet in a box. You will need bitcoind already installed in your system. The "Testnet in a box" linked above is just like the world-wide bitcoin network except the only members are the 2 running on your computer. There should be no difference except that it's easier to generate coins.


3

I think the closest thing is the bitcoin mining hardware comparison: https://en.bitcoin.it/wiki/Mining_hardware_comparison Miners have different performance with different hardware architectures, so which miner is fastest for you depends on which hardware you have (AMD GCN/VLIW4/VLIW5, NVIDIA, different FPGAs). It might be an idea to start a wiki page for ...


3

Yes and no. Don't use 8332 for your custom client's communication port, that is the default rpcport. You can run an arbitrary number of bitcoind instances on your machine, as long as they are given different -port= and -rpcport= arguments, and they can all communicate with each other (using -addnode=127.0.0.1:...port... or -connect=127.0.0.1:...port... ).


3

Blockchain.info service will not accept testnet coins so you can only test with regular coins. As you can see in their site the minimum transfer amount allowed by their system is 0.0005 BTC so that's the minimum and no fee is required for that amount. As you will be on the sender and receiving ends you can send any amount, if everything go as it should ...


3

You could take a look at Jeremy Rubin's TinyCoin: https://github.com/JeremyRubin/tinycoin It is, exactly as the name suggests, a very small cryptocurrency written in python which is designed purely for learning purposes. Might be what you're after :)


2

first install the software(bitcoin-qt) by following the steps: sudo apt-add-repository ppa:bitcoin/bitcoin sudo apt-get update sudo apt-get install bitcoin-qt run: bitcoin-qt -testnet click on the Receive button in the screenshot to get the address go to link http://tpfaucet.appspot.com/ and give the address to get testnet bitcoins.


2

You can use testnet, it is a separate chain: https://en.bitcoin.it/wiki/Testnet


2

As Nate Eldredge suggest, you could use the Bitcoin Testnet. This is a separate Bitcoin fork that exists especially for testing purposes. You can easily get some testnet coins from testnet faucets. Besides that, do you know that it is possible to create a transaction with multiple inputs and multiple outputs? So instead of creating many transactions, you ...


2

It might contain security vulnerabilities (which could potentially expose your private key), but that's extremely unlikely. Something more plausible (but still unlikely) is corrupting your wallet.dat, so be sure to back it up before upgrading. As a normal user, the test build ought to be safe for most purposes. The main risk, I guess, is for people ...


2

You likely have many small (in value) coins in your wallet, so when constructing a payment, many of them need to be assembled to construct a transaction - resulting in a large (in bytes) transaction. The reference implementation (v0.8.6) will enforce a fee of 0.0001 BTC per kilobyte if it doesn't satisfy the "free transaction policy". Future versions of ...


2

You are probably trying to pay with BTC collected from very small payments (known as dust). This dust is commonly collected from advertisement sites. Though they know sending small payments will break your wallet this way, they just don't care as long as you keep clicking ads! Since transaction size depends greatly on how many payments you're drawing money ...


2

Summarized from Bitcoin Core's Segregated Witness announcement: The original version of SegWit was implemented in April through June 2015 for the Elements Project. It has facilitated every transaction on the Elements-based sidechains since then. The new softfork-variant of SegWit moved to the multi-user testing stage in December 2015 by activating on the ...


2

testnet-in-a-box is a simple way to set up your own testnet network, separate from the main one. That lets you mine your own blocks easily because the difficulty will stay low. Then you can play around with double-spending your own coins to yourself without inconveniencing others, and without needing large amounts of hash power.


2

As far as I know, there is no way to download arbitrary blocks (although I suspect it's not too hard to do if you implement your own client). If you just want blocks for testing, you won't have much trouble finding bootstrap.dats that contain a few hundred thousand blocks. Alternatively, you could just run bitcoin core for half an hour or so and get a few ...


2

If you know what hashes of the blocks you want, you can use the P2P protocol to connect to a node and request those specific blocks. However, you cannot just do that with block heights as the block's height is not a unique identifier for the block. There are many libraries available that can speak the P2P protocol. The python-bitcoinlib can be used to send ...


2

You can sign a message using the signmessage command. Note that this only works if you are using legacy addresses (Bitcoin Core currently defaults to p2sh-segwit addresses which cannot be used to sign a message). You an get a legacy address using: bitcoin-cli getnewaddres "" legacy If the wallet is locked, you won't be able to sign a message.


1

These are seed nodes, not nodes that are connected to for a connection. A seed node means that it is a node that will be connected to in order to get addresses of other nodes to connect to. That connection will not be maintained; rather it is temporary. If you want to connect nodes to each other, you should not be modifying the seed nodes at all. Rather you ...


1

Blockchain.info does not have a sandbox nor testnet support.


1

So entropy seeds mnemonic (bip39?), then mnemonic | password hashes to Seed; Seed then acts as the master key for the bip32 xprv? (correct me if I'm wrong!?) That sounds about right. Most of the process is well detailed in BIP-39. An SHA-256 is taken of the entropy, and the first entropy_len_in_bits / 32 bits of this hash are appended to the end of the ...


1

Try installing the correct version of BerkleyDB. (4.8) I have the correct .debs in this repository: http://github.com/nickodell/build_bitcoin You may need to uninstall the newer version of libdb first.


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