People who code: we want your input. Take the Survey

Hot answers tagged

10

Jon Atack answered this on Twitter. Configuration and setup First install and start I2P (version 2.35 or above). $ apt install i2pd $ systemctl enable i2pd.service $ systemctl start i2pd.service In your bitcoin.conf file add (I will assume you run Bitcoin Core v22+ and want to use both Tor and I2P but remove debug=tor and onlynet=onion if not interested in ...


5

Bitcoin is a peer-to-peer gossip flood network. Whenever a Bitcoin participant creates a transaction, their wallet software submits it to its peer nodes. These peers then relay it to their peers in turn. The transaction floods through the network and reaches most nodes. Eventually, the transaction is included in a block which makes the transaction part of ...


4

To run a Bitcoin full node you don't need to have a static IP address as when your IP address changes you should still be able to find peers and connect to them. However, if you want to maintain the same peers getting a static IP address is a good idea. Your connection to existing peers will drop if your IP address changes and you will either reconnect to ...


3

The getheaders message allows you to list multiple block hashes. So instead of just putting the current chain tip, you can insert multiple block hashes. Responding nodes will see if any of those hashes are in its main chain and start sending headers from there. Since reorgs tend to be small, you could put the most recent 10 block hashes and it should be ...


3

Adding more advanced prediction of what transactions are useful to prefill was probably intended as a TODO when Compact Blocks were implemented, but to the best of my knowledge, nobody has worked on it since. It is worth pointing out that Compact Blocks in practice (and in non-adverserial situations) works extremely well. On my own long-running node, as of ...


2

If the nodes are running different versions then communication cannot continue. That is incorrect. If two nodes interact which have different versions, they just communicate using the lower of the two versions.


2

When you run P2P functional tests you are spinning up regtest nodes (running simplified Python code) that connect to your full node (running the full C++ code) to test P2P functionality. As John Newbery outlines here: A node is the bitcoind instance. This is the thing whose behavior is being tested. Each bitcoind node is managed by a Python TestNode object ...


2

Addresses for outbound connections are largely chosen at random. The filtering of addresses comes at the time the addresses are first received by the node before they are added to the address database. This filter checks what services the nodes offer, what network they are on (e.g. IPv4, IPv6, TOR), and the time that they were reported to last be seen. Your ...


2

A list of reliable nodes is inherently a trusted list. Therefore a reasonably trustable place to get some node IPs would be by hitting the DNS seeds hardcoded in the reference client. The list is community-curated, contains multiple sources, and the seeds are themselves dynamically managed. This makes it more resistant to censorship than a single website ...


2

It's not a scam. It doesn't allow lending Bitcoin, you are correct. When it says it supports Bitcoin, it means it allows you to use Bitcoin as collateral for a loan. For example, if you want to borrow USDT, you'd be allowed to post an appropriate amount of BTC as your collateral, receive USDT, then when you pay back your USDT loan, you receive the BTC you ...


2

libminisketch is a library implementing the PinSketch set reconciliation algorithm and was covered in this Bitcoin Core PR review club. In theory it could be used for any problem where you have two sets of data and want to work out how those data sets differ (which specific elements are present in one but missing in another) as efficiently as possible. The ...


1

It seems as if, to borrow 1000 USDT or whatever, I have to first register an account (e-mail address on centralized website required in spite of claims of "true P2P trading") Trading is P2P as HodlHodl is just providing a platform, making profits from fees and resolving disputes. You need to register with email address right now, maybe it can be ...


1

I do not know if there are any comparisons of the security difference between Bitcoin's P2P messages and JSON, but the binary format is certainly more compact than JSON. I think it would be reasonable to assume that there are security implications, but security likely was not the major concern when the P2P format was initially defined. Rather ease of ...


1

As 0xB10C posts here you can get a peer dashboard to bitcoin-cli that looks like this. You can get this dashboard by using watch ./src/bitcoin-cli -netinfo 4 and you can use the -asmap flag too. This netinfo feature was merged into Bitcoin Core in September 2020 and is included in the release of Bitcoin Core version 0.21 . (The feature was built by Jon ...


1

Each full Bitcoin node has what is known as "mempool". mempool is where transactions are stored in preparation for propagation into a proposed block during the mining process. It's somewhat counter-intuitive but each node has it's own mempool and transactions (as they are posted by BTC users), will be propagated throughout the network and be stored ...


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