New answers tagged

0

The only person to ever explain the uses of OP_CODESEPARATOR to me was Craig Wright. According to him the main use was to delegate multi signature contracts such that one signing party could sign, and add a different signatory who would then be able to sign in the original ones place. IE a way to make Multisig signatories changeable/delegatable. By use of ...


0

Few things that were mentioned on Chaincode's website: Chaincode engineers develop, review, test and maintain Bitcoin Core Chaincode has contributed research and design for many of the recent improvements in the Bitcoin protocol, e.g. Erlay and Compact Blocks. The Chaincode Residency is a program for engineers to develop experience with Bitcoin. Chaincode ...


0

You can use zmqpubsequence to get updates of all transactions added/removed to/from mempool and blocks received. Example: Save zmqpubsequence=tcp://127.0.0.1:28332 in bitcoin.conf Run below python code: import binascii import asyncio import zmq import zmq.asyncio import signal import struct import sys if (sys.version_info.major, sys.version_info.minor) < ...


0

What is cs_main? cs_main is a recursive mutex which is used to ensure that validation is carried out in an atomic way. It guards access to validation specific variables (such as CChainState and CNode) or mempool variables (in net_processing). The lock of cs_main is in validation.cpp. Why is it called cs_main? cs_main was the mutex ("critical section&...


1

John Newbery answered this at the Bitcoin Core PR review club session. Conceptually validation stores and maintains our best view of the blockchain and associated UTXO set. It also includes an interface to submit unconfirmed transactions to the mempool. In addition, James O'Beirne's slides from a presentation on Bitcoin Core architecture at Bitcoin Edge ...


1

Open one of the .ui files from /src/qt/forms in Qt Designer Press CTRL+O or click on [Form] -> [Break Layout] Resize the form and different objects accordingly Compile and run bitcoin-qt I changed width and height in minimumSize property and same in geometry. Also made few changes in rpcconsole.cpp because I removed some objects, its not related to ...


1

Not every transaction output has an address. In this case, the output you are looking at, while it is a standard output type, it does not have an associated address. It is a Pay to Public Key script for which there is no address. Thus gettxout does not provide an address.


0

Couple of years ago, i created a few articles on bitcoin core code analysis. It is here: http://embedded-design-vic.blogspot.com/2017/07/bitcoin-core-tutorial-and-source-code.html


1

Bitcoin itself will never itself offer any kind of Smart Contract functionality, like the Turing complete EVM. Rootstock (RSK) however, is smart contracts platform (turing complete programming) that works alongside Bitcoin to offer the same functionality. It's been in development for some time and I suspect now it will integrate with Lightning, and thus work ...


3

How does Bitcoin get developed? Originally, Bitcoin was developed by its creator, Satoshi Nakamoto. After Nakamoto disappeared in April 2011, the Bitcoin client evolved into the Bitcoin Core project which is now developed by the loosely organized Bitcoin Core contributors. There are also a number of alternative Bitcoin implementations today, but the majority ...


3

How do all million plus users agree to these feature/bug requests? Mostly by deciding whether to continue using Bitcoin-core or switch to one of the many other existing implementations of a Bitcoin wallet. Those who are particularly competent to assess the changes are probably also, in many cases, competent to fork the code base and not introduce changes ...


9

Turing completeness includes the capability to run programs that might not terminate or that might terminate after a very long time. This would cause the blockchain to stall, hence it is a must to keep the number of instructions to be run predetermined (like BTC) or to be run according to a budget (like ETH).


5

I cannot predict the future but below are some arguments against turing completeness in Bitcoin. More data needs to be pushed in each transaction than a non-Turing-complete language like Bitcoin's stack-based SCRIPT. Fullnodes will need a lot of resources in order to operate, since they have to process a lot of data. Only few that can afford to run ...


0

There is already a planned update to the Bitcoin protocol, when mining stops in 2140. This could be analogous to the concept of a gold rush followed by cleanup investors who use expend ever more effort to find smaller and smaller nuggets, then flakes, until every last atom of gold on Earth is available for circulatory spending. At that point, those who have ...


0

The Bitcoin base layer can handle 7 transactions per second but the infrastructure built on top of this base layer can handle vastly greater amounts. Batching, layer-2 payments, debits/credits within large custodians like exchanges all facilitate a much higher effective tps.


1

Tons of red flags here. I've been around for a while and have never heard of this client. Browsing the site, all the pages dedicated to code or developer documentation are non-existent or lead to placeholders. I reached out to Will Binns whose name is given as the maintainer of the ostensible "Bitcoin client" Bitly Core on the "developer ...


3

No, they are in the order by which your node received the blocks. This can be in any particular order as nodes receive blocks out of order during the initial sync. Furthermore, some nodes will receive and store blocks that become stale, while other nodes (particularly ones that come online after that block has been found) will not. So the blk*.dat files ...


Top 50 recent answers are included