Frequently Asked Questions
Can I use Bitcoinlib on my system?
BitcoinLib is platform independent and should run on your system. Bitcoinlib is mainly developed on Ubuntu linux and runs unittests on every commit on Ubuntu and Windows. Dockerfiles are available for Alpine, Kali and Fedora. You can find all dockerfiles on https://github.com/1200wd/bitcoinlib/tree/master/docker
I run into an error ‘x’ when installing Bitcoinlib
Check the installation page and see if you have installed all the requirements.
Install the required packages one-by-one using pip install, and see if you get any specific errors.
Check for help in Github Discussions.
See if you find any known issue.
If it doesn’t work out, do not hesitate to ask your question in the github discussions or post an issue!
Does Bitcoinlib support ‘x’-coin
Bitcoinlib main focus is on Bitcoin. But besides Bitcoin it supports Litecoin and Dogecoin. For testing it supports the Bitcoin testing networks: testnet3, testnet4, regtest and signet. For other coins the Litecoin testnet and Dogecoin testnet is supported.
Support for Dash, Bitcoin Cash and Bitcoin SV has been dropped. There are currently no plans to support other coins. Main problem with supporting new coins is the lack of service provides with a working and stable API.
My wallet transactions are not (correctly) updating!
Most likely cause is a problem with a specific service provider.
Please set log level to ‘debug’ and check the logs in bitcoinlib.log to see if you can pin down the specific error. You could then disable the provider and post the issue.
To avoid these kinds of errors it is advised to run your local Bcoin node, Blockbook or ElectrumX server.
With a local Bcoin node or Blockbook server you do not depend on external Service providers which increases reliability, security, speed and privacy.
Provider ‘x’ does not work
If you encounter errors when updating transactions, utxo’s, blocks, etc there is probably a problem with a specific provider. You can check the logs in bitcoinlib.log and see which provider has problems. To solve this you can:
Set priority = 0 for this provider to temporary disable it
Remove the provider from the providers.json file in you local .bitcoinlib directory
Use the exclude_provider option when you calling the Service class:
srv = Service(exclude_providers=['blocksmurfer'])
Or use a specific provider, for instance your local Blockbook server:
srv = Service(providers=['blockbook'])
Can I use Bitcoinlib with another database besides SQLite?
Yes, the library can also work with PostgreSQL or MySQL / MariaDB databases. For more information see: Databases.
I have imported a private key from another wallet but the address is different
If you have imported a private key from another wallet in Bitcoinlib and the address in Bitcoinlib does not match, then this is probably because the wallets use different key paths or keys at different levels.
Check if the level and type of the key it the same? Is it a masterkey (level 0), a master public key (level 3), or a key of an address (level 5)
Does the wallet uses the same key paths? Bitcoinlib uses the default BIP84 keys path in “m/84’/0’/0’/0/0” format. You can specify a different key path or witness type when creating a wallet
I found a bug!
Please help out project and post your issue on Github. Try to include all code and data so we can reproduce and solve the issue.
I have another question
Maybe your question already has an answer om Github Discussions. Or search for an answer is this documentation.
If that does not answer your question, please post your question on the Github Discussions Q&A.