September 21, 2021
BitcartCC Version 0.6.0.0 is out! ARM support, backups support, electrum 4.1 and many refactors, bugfixes, quality of life improvements for better BitcartCC!
This update contains backwards-incompatible changes
This time we have included the changes from all BitcartCC repositories since previous version
The app stores all it's data in one directory instead of separate directories within source code. This makes it work without permission errors.
With docker deployment only the datadir volume could be backed up, also it's separated from source tree now
This removes unnecessary volume mounts in compose dir, now all data is stored in named docker volumes. Also removes conf directory mounting and many fixes applied before, as it is actually not required now
This means that logs and images are not moved into new directory by default.
At docker deployment bitcart_datadir
volume now stores all the data, bitcart_logs
volume is removed, compose/images
directory and compose/conf
directory are not used anymore.
Now we build all images for 3 architectures: amd64, arm32, arm64. This allows running BitcartCC on a Raspberry Pi and other portable devices.
We have updated all our docker components, not only main BitcartCC parts
bitcartcc/docker-gen gained arm support, updated with upstream changes to 0.7.7
updated bitcartcc/tor to 0.4.6.5 with arm support
bitcartcc/docker-compose was moved to bitcartcc/bitcart-docker-deps repo and updated to 1.28.6
Usually building images for ARM takes a while when being run in a emulation, but we found a solution:
We build amd64 image on amd64 machine without emulation, and in the same time arm64 machine on CI builds arm64 image without emulation and arm32
image with emulation, but this emulation provides minimal performance penalties, images are built in parallel with docker buildx
.
After that, images are united into one tag with docker buildx imagetools
, so that when pulling a release the right image gets chosen.
So if you are on a raspberry pi, same instructions as on regular servers apply, and everything will just work.
The long-awaited feature is there! All deployments now have backup.sh
and restore.sh
scripts performing backup and restore operations
Example:
BACKUP_PROVIDER=scp SCP_TARGET=user@someip:backups ./backup.sh
On another machine with ip someip
:
./restore.sh 20210918-220925-backup.tar.gz
Will restore the identical state of your instance.
You can also perform manual backups from server management->backups page by just a click of a button. Backup settings, like provider and environment variables are also configured here.
Current supported backup providers: local (save on local machine), scp (send via ssh to any machine), s3 (send to AWS s3)
You can also schedule backups, by default it is off. They are performed in one of selected frequencies: daily, weekly, monthly.
The app will store the remaining time by itself even after restarts.
All backup operations are also logged to server logs.
This is our scheduled upgrade of electrums from 4.0 series to 4.1 series
Breaking changes in electrum:
COIN_LIGHTNING_GOSSIP
variable to truePaid
, but Unconfirmed
. Invoice becomes Paid
after first confirmation. This allows us to implement transaction_speed
setting in a better wayImportant changes in electrum:
Other changes related to electrum upgrade:
Together with electrum upgrades, BCH-based coins have gained some more feature-parity with btc-based coins:
Our lunanode installer at https://launch.bitcart.ai is deprecated. Use BitcartCC configurator instead, it is more feature-complete and can install BitcartCC on any server. We might add some hosting provider presets to configurator in the future/ The lunanode installer will be removed with the next BitcartCC major release: 0.7.0.0. It will then redirect to the configurator.
setconfig("lightning",False)
and disable lightning if it was enabled via env varverified_tx
event, called when tx got it's first confirmationget_tx
SDK method (get_transaction
daemon method) now supports use_spv
flag to use SPV verification for getting confirmations, this works on all electrumx servers without verbose mode errors, but it is experimental because it is inefficient, we are waiting for electrum protocol 1.4getaddressbalance_wallet
RPC method which gets address balance via local wallet balance and not networkWalletNotLoadedError
is now properly raised by the daemon instead of not-easy-to-understand KeyError
BaseDaemon
contains only base code common for all daemons, like config loading, and BTCDaemon
contains code for electrum-based coins, it is useful for adding completely custom coins not based on electrumtransaction_speed
>= 1 and added functional tests for itAdded Ergon (XRG, port 5005) via it's electron cash fork oregano: https://ergon.moe https://ergon.moe/prop-reward.pdf
It is a fork with BCH with stable price. It is achieved by making the block reward proportional to the cost of producing a block. Earning a single unit of the currency by mining takes a fixed amount of effort.
asyncio.run
behaviour, allow starting/stopping websockets in idle unlimited number of timesBitCCL is getting prepared for being integrated into BitcartCC in following releases.
Better, more secure compiler It can now be used without issues even with untrusted code which tries to bypass the passed context, export only needed functions
The toolbar on admin panel is now unified. On desktop the left navigation bar doesn't open anymore, as it is replaced by main toolbar. On mobile the left navigation bar is now useful and contains links for navigation (before configurator link wouldn't fit in screen) When logged in, it shows same links as before. When not logged in it shows configurator (if allowed by server policies), login and register buttons Datatables are more responsive too now
Other improvements:
label
field of a walletYou can access it with bitcart-cli.sh
script, like so:
./bitcart-cli.sh help
It requires a running worker
container
pre-commit
for better contribution experience, and to modernize and unify our codebasetor-relay
component allowing you to run your own tor relay as part of bitcartcc deployment and to support tor networkEven though the update contains many changes, all changes should be applies automatically.
Run contrib/upgrades/upgrade-to-0600.sh
upgrade helper to move your existing logs and images if you need it