- v1.12.1
- v1.12.0
- v1.11.0
- v1.10.1
- v1.10.0
- v1.9.0
- v1.8.1
- v1.8.0
- v1.7.0
- v1.6.0
- v1.5.0
- v1.4.1
- v1.4.0
- v1.3.0
- v1.2.0
- v1.1.0
- #mr254 added missing container dependencies for zeromq build
- #mr255 fixed imports/rescans not being processed correctly
- pajasevi
- Taylor Helsper
Upgrade to Bitcoin Core v22.0
Upgrade to Tor v0.4.6.7 which removes support for outdated v2 onion services
Upgrade to BTC-RPC Explorer v3.2.0
Dojo stability has been improved by raising RPC timeout value and fixing uncaught promise rejections. Stability issues have been encountered on non-standard installations which contain LND.
- #mr252 updated Tor to 0.4.6.7
- #mr249 updated Nginx to 1.21.3
- #mr247 updated Bitcoin Core to 22.0
- #mr246 updated BTC-RPC Explorer to 3.2.0
- #mr248 added uacomment to identify Dojo bitcoind nodes on the network
- #mr251 raised RPC timeout value, fixed uncaught promise rejections
- pajasevi
- Ketominer
- Dojo now requires Node.js v14
- #mr242 postmix decoy change addresses
- #mr241 update ZeroMQ and Node.js
- #mr240 update Node.js dependencies
- #mr239 update Tor and remove v2 onion addresses
- #mr238 use RPC auth instead of basic auth
- other minor improvements
- #mr237 fix tracker initialization
- commit 3ee4ecc6 fix importing from local_bitcoind
- other minor fixes
- #mr235 apply middleware in correct order
- pajasevi
- lukechilds
- kenshin-samourai
- zeroleak
This release provides faster IBD, synchronization and rescans thanks to the optimization of multiple components of Dojo (Tracker, Importer, etc)
The Maintenance Tool now allows to export the activity history of a XPUB in CSV format
Upgrade to Bitcoin Core v0.21.1
Upgrade to whirlpool-cli 0.10.11
Upgrade to btc-rpc-explorer 3.1.1
Upgrade to Tor v0.4.4.8
Upgrade to addrindexrs v0.5.0
- #mr199 manage linux uids and gids as dojo system parameters
- #mr200 manage ip addresses of containers as dojo system parameters
- #mr201 disable rescan-lookahead field if data source is third_party_explorer
- #mr202 reference db container by its ip address
- #mr203 add export of xpub history in csv format
- #mr204 upgrade whirlpool to whirlpool cli v0 10 10
- #mr206 add support of config profiles for mysql
- #mr207 upgrade tor to tor 0.4.4.8
- #mr208 improve performances of blocks processing by the tracker
- #mr209 improve performances of api
- #mr210 better seriesCall
- #mr211 add support of rest api provided by addrindexrs
- #mr212 minor optimizations
- #mr214 upgrade explorer to btc rpc explorer 3.0.0
- #mr215 handle Error in sendError method
- #mr217 optimize tracker (parallel processing of blocks)
- #mr218 optimize derivation of addresses
- #mr219 optimize remote importer
- #mr221 implement util.splitList() with slice() instead of splice()
- #mr222 determine bitcoin network based on config file instead of cli argument
- #mr223 upgrade bitcoind to bitcoin core 0.21.1
- #mr224 switch to buster-slim and alpine images
- #mr226 upgrade btc-rpc-explorer to v3.1.1
- #mr227 switch from express to tiny-http
- #mr228 set NODE_ENV to production for optimization purposes
- #mr232 upgrade whirlpool to whirlpool-cli v0.10.11
- #mr220 switch tx isolation mode to read-committed
- #mr225 update docker_advanced_setups.md - fix typo
- flatcloud0b3
- kenshin-samourai
- LaurentMT
- MrHash
- pajasevi
Status screen
The status screen now displays information related to the Dojo database and to the data source used by Dojo for its imports and rescans. This screen provides a high level view of the state of the Dojo instance, that can be shared for support.
XPUB Tool
- Progress made is now displayed during an import or a rescan.
- New feature allowing to delete a XPUB tracked by Dojo.
- Improved management of timeouts by the authentication system.
- Script automatically stops if build fails during install/upgrade operation.
- Script returns a not null exit code if build fails or if install/upgrade operation is cancelled.
- Dojo is automatically stopped if an upgrade operation is launched with Dojo up and running.
- A cleanup of old Dojo versions is automatically processed at the end of successful upgrade operations.
Addition of two new configuration options:
- BITCOIND_LISTEN_MODE (in docker-bitcoind.conf): When set to
off
, the fullnode will refuse incoming connections. Default =on
. - WHIRLPOOL_COORDINATOR_ONION (in docker-whirlpool.conf): When set to
on
, whirlpool-cli will contact the coordinator through its onion address. When set tooff
, clearnet address will be used (through Tor). Default =on
.
Extended support Tor hidden services
Dojo now provides a v2 and v3 hidden service for:
- Dojo Maintenance Tool and API
- Whirlpool CLI
- Bitcoind
- Explorer
Tor v3 onion addresses are recommended but v2 addresses can be used in the case of new attacks disrupting v3 hidden services.
These onion addresses can be retrieved thanks to the onion
command of the Dojo Shell Script
'''
./dojo.h onion
./dojo.h onion v3
./dojo.h onion v2 '''
Upgrade to Bitcoin Core v0.21.0
Upgrade to whirlpool-cli 0.10.9
Upgrade to btc-rpc-explorer 2.1.0
Tor 0.4.4.7 fixes and mitigates multiple issues, including one that made v3 onion services more susceptible to denial-of-service attacks.
Upgrade to addrindexrs v0.4.0
- #mr165 improve dmt ux
- #mr166 add new configuration property BITCOIND_LISTEN_MODE
- #mr167 upgrade explorer to btc-rpc-explorer 2.0.2
- #mr168 add new getChaintipHeight() method to remote importer and data sources
- #mr170 add indexer info to /status endpoint
- #mr171 add db and indexer blocks to status screen of dmt
- #mr172 upgrade indexer to addrindexrs 0.4.0
- #mr174 upgrade whirlpool to whirlpool-cli 0.10.9
- #mr175 track and display progress of import/rescan
- #mr178 improve dojo shell script
- #mr179 update samourai logo
- #mr181 add support of xpub deletion from the dmt
- #mr182 upgrade bitcoin container with bitcoin core 0.21.0
- #mr183 upgrade explorer to btc-rpc-explorer 2.1.0
- #mr184 upgrade tor to v0.4.4.6
- #mr186 upgrade tor to v0.4.4.6
- #mr188 return exit code 2 if install or upgrade is cancelled
- #mr190 add new WHIRLPOOL_COORDINATOR_ONION config option
- #mr191 add v2 onion addresses for explorer and whirlpool
- #mr192 return exit code 1 instead of 2 for aborted install & upgrade
- #mr193 reactivate tor v2 hidden service for bitcoind
- #mr194 upgrade tor to v0.4.4.7
- #mr195 bump block height defining ibd mode
- 9fe22a35 update .gitignore
- #mr176 check that jqxhr['responseJSON']['error'] is a string
- #mr177 prevent restart of bitcoin container if bitcoind fails
- #mr185 build addrindexrs with --locked argument
- #mr189 return a 0 feerate if bitcoind doesn't return an estimate
- #mr173 replace request-promise-native by axios
- #mr180 add a detailed installation and upgrade guide for ubuntu
- BTCxZelko
- flatcloud0b3
- kenshin-samourai
- LaurentMT
- likewhoa
Upgrade to Tor v0.4.5.4-rc for a fix mitigating attacks on Tor v3 hidden services
- 320f8cbf upgrade tor to v0.4.5.4
This release introduces a new version of Dojo Maintenance Tool (DMT).
The DMT has been revamped in order to provide a more user-friendly experience.
This new configuration property added to docker-bitcoind.conf allows to set a custom max depth for the RPC work queue of the full node.
Increasing the value set for this property may help users running Dojo on slower devices when recurring "work queue depth exceeded" errors appear in the logs.
This new configuration property added to docker-bitcoind.conf allows to set a custom delay before Dojo forces the shutdown of its full node (default delay is 180 seconds).
Increasing the value set for this property may help users running Dojo on slower devices requiring a longer delay for a clean shutdown of the full node.
If Dojo fails to contact the Tor servers (archive.torproject.org) during an installation or an upgrade, it will automatically try to download Tor source code from a mirror hosted by the EFF (tor.eff.org).
Upgrade to Bitcoin Core v0.20.1
This new API endpoint combines the results previously returned by the /multiaddr, /unspent and /fees endpoints. See this doc for more details.
Starting with this version, the /multiaddr and /unspent endpoints are marked as deprecated.
- #mr151 add new /wallet api endpoint
- #mr153 add new BITCOIND_RPC_WORK_QUEUE parameter to docker-bitcoind.conf.tpl
- #mr154 add new /xpub/impot/status endpoint
- #mr155 upgrade bitcoind to bitcoin core 0.20.1
- #mr156 automatic fallback to mirror of tor archive
- #mr157 add new config property BITCOIND_SHUTDOWN_DELAY
- #mr160 new version of the maintenance tool
- #mr161 improve the xpub tools screen
- #mr162 rework response returned by dojo.sh onion
- #mr163 improve presentation of response returned by dojo.sh onion
- a548bce6 bump dojo version in index-example.js
- #mr158 fix parsing of message in notification service
- dbf61217 fix presentation of message returned by dojo.sh onion
- 5d960071 update presentation of response returned by dojo.sh onion
- Crazyk031
- kenshin-samourai
- LaurentMT
- RockyRococo
- sarath
- SatoshiThreepwood
- zeroleak
A new optional "strict mode" is added to the /pushtx and /pushtx/schedule endpoints of the API.
This strict mode enforces a few additional checks on a selected subset of the outputs of a transaction before it's pushed on the P2P network or before it's scheduled for a delayed push.
See this doc for detailed information.
Upgrade to whirlpool-cli v0.10.8
A new config parameter WHIRLPOOL_RESYNC
is added to docker-whirlpool.conf. When set to on
, mix counters are resynchronized on startup of whirlpool-cli.
- #mr142 add setup of explorer in keys.index.js
- #mr143 update doc and package.json with url of new repository
- #mr144 switch addrindexrs repo to gitlab
- #mr145 explicitely set algo used for jwt signatures
- #mr146 upgrade whirlpool to whirlpool-cli 0.10.7
- #mr147 add new optional strict_mode_vouts to pushtx endpoints
- #mr148 status code pushtx endpoints
- #mr149 upgrade whirlpool to whirlpool-cli 0.10.8
- kenshin-samourai
- zeroleak
This version of Dojo introduces the support of an optional Whirlpool client (whirlpool-client-cli) running inside MyDojo.
This option provides several benefits:
- all communications between the Whirlpool client and Dojo's API are internal to Docker,
- Whirlpool client exposes its API as a Tor hidden service. All communications between Whirlpool GUI and the Whirlpool client are moade over Tor.
See this documentation for the detailed procedure allowing to configure and install the Whirlpool client.
Starting with this version, logs of all containers are managed with the log system provided by Docker.
Logs of all NodeJS submodules (API, Tracker, PushTx, PushTx Orchestrator) are merged into a single stream.
The -d option of dojo.sh logs
command is deprecated.
See this documentation for a list of logs available through the dojo.sh
command.
Upgrade to Bitcoin Core v0.20.0
Upgrade to Tor v0.4.2.7
Upgrade to btc-rpc-explorer v2.0.0
Upgrade to addrindexrs v0.3.0
- #128 drop unneeded reversebuffer util method
- #142 modify results returned by dojo.sh onion
- #143 improve display of dojo version
- #144 add dynamic switch of startup mode
- #147 increase control over ports exposed by dojo
- #148 upgrade explorer to btc-rpc-explorer 2.0.0
- #149 upgrade tor to v0.4.2.7
- #152 add new optional whirlpool container
- #154 manage all logs with docker log system
- #156 upgrade indexer to addrindexrs v0.2.0
- #157 clean-up of log files
- #158 misc improvements in bitcoind rpc transactions class
- #159 upgrade indexer to rust 1.42.0 slim buster
- #160 upgrade bitcoind to bitcoin core 0.20.0
- #mr141 added more header to allow proper cors
- #163 upgrade indexer to addrindexrs 0.3.0
- #164 upgrade whirlpool to whirlpool-cli 0.10.6
- 4ee1f66 fix dojo version in index-example.js
- 37c4ac6 add missing quote breaking pushtx-rest-api.js script
- #150 define a floor for tracker normal mode
- #153 fix typo in install scripts causing a copy error when installing or upgrading
- #155 fix typo: laucnhed -> launched
- #161 trap docker & bash messages displayed on dojo.sh stop
- #162 fix path of sha256sums.asc
- anwfr
- BTCxZelko
- dergigi
- kenshin-samourai
- LaurentMT
- lukechilds
- mikispag
- pajasevi
- zeroleak
Previous versions of Dojo provided the choice between 2 data sources for import and rescan operations, the local bitcoind and OXT. This version introduces a new optional Docker container running a local indexer (addrindexrs) that can be used as an alternative to the 2 existing options.
The local indexer provides private, fast and exhaustive imports and rescans.
Warning: The local indexer requires around 120GB of additionnal disk space during its installation, and around 60GB after the compaction of its database.
See this documentation for the detailed procedure allowing to configure and install the indexer.
This version of Dojo introduces the support of a local external Electrum server (ElectrumX or Electrs) as the data source of imports and rescans. This option provides the same benefits as the new local indexer to users running an Electrum server.
See this documentation for the detailed procedure allowing to configure your Electrum server as the data source of imports and rescans.
By default, the upgrade process will try to reuse the image layers cached by Docker in order to reduce the duration of upgrades.
A new option for the upgrade command allows to force a complete rebuild of all the containers (equivalemt to the former default behavior of the upgrade process).
> ./dojo.sh upgrade --nocache
A few controls and confirmations were added to the installation process in order to avoid multiple calls leading to problems with database credentials. Additionally, a full uninstallation is forced before a new installation is allowed.
Upgrade to Bitcoin Core v0.19.1
- #118 add support of local indexers as the data source of imports and rescans
- #119 improve performances of dojo upgrades
- #120 upgrade btc-rpc-explorer to v1.1.8
- #121 add controls and confirmations before reinstalls and uninstalls
- #124 upgrade bitcoin v0.19.1
- #125 improve support of --auto option in dojo.sh
- #127 upgrade btc-rpc-explorer to v1.1.9
- #129 fix mydojo buster
- #126 upgrade nodejs packages
- #137 improved instructions related to config files
- BTCxZelko
- Crazyk031
- GuerraMoneta
- kenshin-samourai
- LaurentMT
Since v1.4.0, some users that Dojo is hanging during its shutdown. This release provides a fix for the users affected by this problem.
This release removes automatic restarts of the bitcoind container when bitcoind has exited with an error.
- 0ff045d keep bitcoind container up if bitcoind exits with an error
- bd43526 fix for dojo hanging on shutdown
- 3ee85db force kill of docker exec used for testing bitcoind shutdown if command hangs more than 12s
- 21925f7 bump versions of dojo and bitcoind container
- 08342e3 add trace in stop() function of dojo.sh
- BTCxZelko
- Crazyk031
- GuerraMoneta
- kenshin-samourai
- LaurentMT
- mj
This release adds a new docker container hosting a local block explorer (BTC RPC Explorer).
Access to the block explorer is secured by a password defined in /docker/my-dojo/conf/docker-explorer.conf (see EXPLORER_KEY
configuration parameter).
Upgrade procedure
# Stop your Dojo
# Download the Dojo archive for this release
# Override the content of your <dojo_dir> with the content of the Dojo archive
# Edit <dojo_dir>/docker/my-dojo/conf/docker-explorer.conf.tpl and set the value of `EXPLORER_KEY` with a custom password.
# Launch the upgrade of your Dojo with: dojo.sh upgrade
This local block explorer is available as a Tor hidden service. Its static onion address can be retrieved with the command
dojo.sh onion
Starting with this release, Dojo is automatically launched when the docker daemon starts.
- #101 add --auto and --nolog options to install and upgrade commands
- #102 improve performances of transactions imports
- #107 add optional block explorer
- #108 switch restart policies of containers to always
- #109 use port 80 of keyservers
- #110 replace keyserver
- #111 enable autostart of dojo
- #113 check if dojo is running (start and stop commands)
- #100 fix issue caused by sed -i on osx
- anwfr
- jochemin
- kenshin-samourai
- LaurentMT
Configuration parameter NODE_IMPORT_FROM_BITCOIND
is replaced by NODE_ACTIVE_INDEXER
.
The supported values for the new parameter are:
local_bitcoind
(equivalent to formerNODE_IMPORT_FROM_BITCOIND=active
)third_party_explorer
(equivalent to formerNODE_IMPORT_FROM_BITCOIND=inactive
)
Upgrade of Dojo to v1.3.0 automatically sets the parameter to the default value local_bitcoind
.
Previous versions of Dojo used the git repository operated by the Tor Project during the build of the Tor container. Starting with this version, Dojo will download an archive of the source code.
Users living in countries blocking the access to resources provided by the Tor Project can easily switch to a mirror site by editing this line before installing or upgrading their Dojo.
The default source used by Dojo is the archive provided by the Tor Project.
The Tor container now supports the configuration of Tor bridges. For some users, it may be appropriate to configure Tor bridges in order to circumvent a local censorship of the Tor network. See this section of the documentation for the activation of Tor bridges on your Dojo.
This version introduces a new "Blocks Rescan" feature accessible from the Maintenance Tool.
"Blocks Rescan" allows to rescan a range of blocks for all the addresses currently tracked by your Dojo (loose addresses or addresses derived for your xpubs). This feature comes in handy when the block confirming a missing transaction is known by the user.
The testnet version of Dojo now relies on the Esplora API as its external data source for imports and rescans.
Previously used API (BTC.COM and Insight) have been removed.
Default URL used for the Esplora API is https://blockstream.info/testnet. A local Esplora instance can be used by editing this line.
Support of HTTPS by the NodeJS server has been removed.
Upgrade to Bitcoin Core v0.19.0.1.
The bitcoinjs library has been updated to v5.1.4.
- #71 update to use latest bitcoinjs
- #74 adding bridge support to tor-container
- #80 add support of blocks rescans in the maintenance tool
- #83 removed unused support of https by nodejs apps
- #84 install tor from source code archive
- #85 add esplora as a data source for testnet imports and rescans
- #90 update the remote importer
- #91 improve the tracking of loose addresses
- #93 increase timeouts defined in docker-compose files (for raspi hardwares)
- #93 upgrade bitcoind to bitcoin core 0.19.0.1
- #73 remove unhandled promise error
- #79 retry to send sql requests on detection of a lock
- #94 improve the transaction cache implemented for bitcoind rpc client
- #76 pin versions in package-lock.json
- junderw
- kenshin-samourai
- LaurentMT
- nickodev
Support of testnet has been added to MyDojo.
See this doc for more details.
Upgrade to Bitcoin Core v0.18.1.
Fix a bug introduced by Dojo v1.1 when bitcoind is exposed to external apps.
See issue #59.
- #46 add testnet support to my-dojo
- #49 add support of auth token passed through the authorization http header
- #54 remove /dump/heap endpoint and dependency on heapdump package
- #55 upgrade bitcoind to bitcoin core 0.18.1
- #60 fix for #59 (dojo with exposed bitcoind ports doesn't start)
- dergigi
- kenshin-samourai
- LaurentMT
- Mark Engelberg
- PuraVida
- pxsocs
An upgrade mechanism for MyDojo has been added.
See this doc for more details.
Optional support of an existing Bitcoin full node running outside of Docker has been added.
This setup can be configured thanks to new options defined in ./docker/my-dojo/conf/docker-bitcoind.conf. When this option is activated, the install command skips the installation of bitcoind in Docker.
Note: The Bitcoin full node installed by MyDojo is configured for taking care of your privacy at a network level. You may lose the benefits provided by the default setup if your external full node isn't properly configured. Use at your own risk.
See this doc for more details.
New options defined in ./docker/my-dojo/conf/docker-bitcoind.conf allow to expose the RPC API and ZMQ notifications provided by the full node of MyDojo to applications runnnig outside of Docker.
Note: Exposing the full node of MyDojo to external applications may damage your privacy. Use at your own risk.
See this doc for more details.
A new option defined in ./docker/my-dojo/conf/docker-bitcoind.conf allows to keep a static onion address for your full node.
By default, MyDojo generates a new onion address at each startup. We recommend to keep this default setup for better privacy.
See this doc for more details.
A new "clean" command has been added to Dojo shell script for deleting old Docker images of MyDojo.
This command allows to free disk space on the Docker host.
Added a new doc for advanced setups.
Added a new doc for MacOS users.
- #1 my-dojo upgrade mechanism
- #7 support of inbound connections through Tor
- #8 add config option exposing the rpc api and zmq notifications to external apps
- #10 add an option allowing to run dojo on top of an external bitcoind
- #11 clean-up
- #12 extend support of external apps
- #15 fix issue introduced by #10
- #19 fix bitcoind port in torrc
- #20 increase nginx timeout
- #25 force the tracker to derive next indices if a hole is detected
- #27 rework external loop of Orchestrator
- #28 rework RemoteImporter
- #32 change the conditions switching the startup mode of the tracker
- #33 check authentication with admin key
- #37 automatic redirect of onion address to maintenance tool
- #38 dojo shutdown - replace sleep with static delay by docker wait
- #5 mydojo - install nodejs
- #6 remove deprecated "new Buffer" in favor of "Buffer.from"
- #41 update nodejs packages
- #13 included Mac instructions
- 92097d8 doc
- de4c9b5 doc - minor updates
- fead0bb doc - add link to MacOS install doc
- #42 fix few typos, add backticks for config values
- #43 add missing
d
indocker-bitcoind.conf
- a382e42 add sql scripts and config files to gitignore
- 05nelsonm
- clarkmoody
- dergigi
- hkjn
- kenshin-samourai
- LaurentMT
- michel-foucault
- pxsocs
- Technifocal