Earn Bitcoin by helping others

On BitQ&A you can get your questions answered by setting up a bounty or you can get paid by answering the community's questions.

How are Bitcoin blocks structured?

Bitcoin blockchain is made of individual blocks. I am wondering how do these blocks actually look like. Which different data types are part of them? What is each part of the block used for, what is its meaning and what are the possible values that can those values take?

I would also like to, assuming I am looking at a block’s HEX blob, be able to decode it/determine various parts of it.

Submit an answer See answers Share on Twitter Share on Facebook

What will replace OP_CHECKLOCKTIMEVERIFY & OP_CHECKSEQUENCEVERIFY after the Genesis upgrade?

Since these two opcodes will be removed after Genesis and (from my understanding) nLockTime works in a slightly different way (prevents transaction from being included in a block vs. UTXO being locked until given time/block height), how will be possible to achieve same functionality after that?

Is it possible to build a locking/redeem script using other opcodes that achieves the same result? Or is there something else?

Submit an answer See answers Share on Twitter Share on Facebook

What are API/SDK options available to Bitcoin SV developers?

Which options are available for developers that want to build on Bitcoin SV blockchain? What APIs and/or SDKs can be used?

How do different possibilities compare in terms of functionality, ease of use and cost?

Is there a single solution that can cover all needs of an average app or should more be used at the same time?

Submit an answer See answers Share on Twitter Share on Facebook

How to decode merkle/transaction proof that Bitcoin SV software provides?

One can ask Bitcoin SV not to provide a proof that a given transaction was included in a block. E.g.:

➜ bitcoin-cli gettxoutproof '["ea32120687851afe3418ab3642af94a4c69684e4b87f8a529807489e09d74ec5"]'
00008020044b32cb5a9d9c5a4d8df9b7d3db277897cd3326900ffb0200000000000000009c34e7a224a4aab8df6a82bf29710a343e000ec5494348ff1a4cf028e55ec81035a1f85dbc10071870a3284fea2400000f98e8f40fdb92f5359abf62b6a56dc03adf7da95390635c2e5e4fafbbee3f753dc54ed7099e480798528a7fb8e48496c6a494af4236ab1834fe1a8587061232ea86f9873bc1bbb24ff46e666c5370ac4b51ca3f5a0ffd03e0713c7be7612e9f610f245966d85fa863a32038e349aaf1b63ccde8b89b395aa2494fa0540d11cf183ef019baee80e4f38fcf2fe3bc23619e3d6edec65dfd2ab452f186e922492ffb668dbc25e8be0c6050247399209dfdda4934cca52f02c399d0fd6dc97c23b4615d4e9ffb22c3de0b35e8dcecb3aa23007defa4ec8e105af05dc87108ded9dccc3b80e338ba14f4390cc5c775c7fba36590bd460f3601e64b8ab55cae0a71f1224f06f0b18a11596a37a49fab86c2a7764b92f114aacad9853b8bea7f23283076cefc60d6f7f600e8d1e32342e8169e49523917c6b9b8ad7931edff1f876ae7c0a149ee3ea75ba806c441f772cbd7fb326f4b0f13b891a364a7399805749bc38016016d6a64aefe4bc7fe48f4ca8bd6f766edb0fdb183d9ba0df7f58dd280692da7dd94048aab0b5b0ebfc83066e85cc8d2cabb133739b872fb4312db5fad41e6e7d55fb7d9addfd810a561ed49634225cd88d2a04638fdc8efaf0d6044e78bdf09455aab9b4d25a5c60cac2376237b064b10b88081f52d241fff4a2d35b464f504ffdf0000

Proof can be verified using the verifytxoutproof RPC command, but let’s say I would like to verify the proof in a custom application that does not have access to a Bitcoin node.

How can I decode the proof HEX blob? What data is part of it and how can I get block, merkle proof and transaction information from it?

Submit an answer See answers Share on Twitter Share on Facebook

What is the most interesting/exciting script that was made possible by the Genesis upgrade?

Non-standard scripts can finally be used without limits on the Bitcoin SV blockchain thanks to the Genesis upgrade. We think that this will accelerate the innovation and we will soon see a variety of new scripts being used on a regular basis.

What is the one that is the most exciting, interesting and/or powerful in your opinion? Which new use cases will it enable?

Submit an answer See answers Share on Twitter Share on Facebook

Is it possible to use browser's crpyo primitives with bsv library?

I have some code that does a lot of HD derivation and ECIES encryption/decryption and I noticed that it runs quite slow in the browser. I did some profiling and it seems that it spends most of the time in the libraries that handle primitives (sha256 hashing, big int, …).

This makes sense as it seems that we have this primitives natively in node, but we need to use libraries in the browser. I did some Googling and it seems that newer browsers do have some support for this things so I was wondering if it is possible to use that when available? I suspect that would speed up things significantly?

I am thinking about browser’s native APIs such as SubtleCrypto and BigInt. Or even an Emscripten-compiler Javascript library such as js-nacl.

Submit an answer See answers Share on Twitter Share on Facebook
Made with in Slovenia.