SPV node watches your addresses on network broadcasts.
So on SPV Nodes you won't be able to grab other transactions then your address. It communicates with other peers, fetches your transactions using bloom filters and then watches pool broadcasted transactions. So you only get transactions that are addressed to your wallet.
This happens when your dependencies get twisted up, especially when bcoin has an update where leveldown gets upgraded. You should be good with a npm rebuild leveldown to fix the dependency tree, but if that doesn't work rm -rf node_modules && npm i
MultiBit HD uses a BIP 32 derivation path that is different from basically all other wallet implementations. MultiBit HD's derivation path is m/0'/0/i whereas most wallets use derivation paths set by BIP 44 which is m/44'/0'/0'/0/i. So when getting addresses from a MultiBit HD seed, you will need to use MultiBit HD's derivation path instead of the default ...
You must be running testnet in another shell or some other script that has opened the chain database.
Whenever you open chain database it gets locked so only one process is in charge of it.
lsof -d txt | grep filename You could try this one to locate process holding FD for it.
Chain accepts parameter db, which can have multiple backends.
By default it will be stored in memory. So this tip is coming from memory.
If you want to store it to File(For example full node stores it in PREFIX/chain) you need to pass db with backend(ldb for example) and specify either prefix or location.
prefix stands for general directory where chain and ...
If you're running master, there was a recent migration that would cause this.
you can run this to fix it:
node migrate/chaindb2to3.js /path/to/chaindb.ldb
That will take a very long time, but if you don't mind pruning your DB at the same time, you can run this instead and it will be much faster:
node migrate/chaindb2to3.js /path/to/chaindb.ldb --prune
First thing I noticed was the redeemScript, it's using OP_MUL which is disabled and you won't be able to use it in scripts.
But I can show it using OP_ADD.
If you want to play with bcoin and test the scripts, how they validate you can use bcoin.script:
Verify and play with scripts
const scriptSig = new Script();
This probably helps you:
What we really needed was a "real-time" balance, and "confirmed" balance.
So the simplest solution was:
confirmed = what is on the blockchain
unconfimed = what is on blockchain + mempool
Essentially unconfirmed is your real-time balance. confirmed is your blockchain-secured ...
The Bitcoin Wiki entry for OP_CHECKSIG answers your question. OP_CHECKMULTISIG works the same way, just applied to each signature in the sequence.
First of all, it depends on the SIGHASH type you, as the signer, choose. Most likely you will use the default SIGHASH_ALL for each of the required signatures, but you could actually use different SIGHASH methods ...
bcoin can be run with —index-address or indexAddress: true in bcoin.conf. This will index all transactions by address, a feature I do not think is available in Bitcoin Core.
You can read about the API call here:
Normally switching indexes on or off after a full node is synced would not be allowed. ...
There may be a few misunderstandings around BIP32/BIP44 key derivation and bcoin wallet usage in particular. I re-wrote your script below to demonstrate how to use bcoin multisig wallets and manually derive multisig P2SH addresses from keys. If you run it, you should see all three output addresses are identical.
Here are a few things you need to know for ...
createTX() doesn't sign the transaction. That is performed by sign() in wallet.js. If your private keys are offline anyway, what kind of unexpected behavior are you getting from createTX()? It wouldn't be able to sign without the keys...?
New functionality was also recently merged to return the MTX before the input scripts are templated (when the public ...
Yes, it supports SPV out of the box. Bcoin actually started out as an SPV project according to Buck Perley.
Here is an example on how to start up a bcoin node in spv
It depends what you change. If you don't agree with other clients on what is a valid transaction and what is a valid block, then you won't agree on who holds what bitcoins.
How do miners know what transactions are valid if there are two different implementations of the BTC protocol?
All the people who wish to interoperate with each other have to use the ...