DriveNet Launcher

The easiest way to run Drivechain. (Play money only.)

Software Linux Windows Mac Source
DriveNet Launcher 1.1.0 .tar.gz .zip .dmg Github

Individual Binaries and Sources

Mainchain (v44.00)

Software Linux Windows Mac Source
Mainchain v44.01 tar.gz .exe dmg Github

Sidechains Based on Template

Software Linux Windows Mac Source
Sidechain Template v18.00 tar.gz .exe dmg Github
zCash-DC v9.0.0 tar.gz n/a n/a GitHub
BitAssets v4.00.0 tar.gz .exe dmg Github
Thunder v8.00.00 tar.gz .exe dmg Github
Trainchain v81 tar.gz .exe dmg Github

Sidechains Based on Cloning Altcoins

Software Linux Windows Mac Source
Latest Ethereum Guide, Video     GitHub
Latest zCash Guide, Video     GitHub

Folder – Older Archives

Click here for CHECKSUMs.

For help join The Telegram.

How to Run

  1. Download the tar.gz file, and extract it.
  2. Navigate to the qt file (/bin/drivenet-qt).
  3. Right-click to open a terminal in this location, and run the qt file via “./drivenet-qt” + ENTER.
  • If you have a technical issue, try reindexing: (example: ./drivenet-qt –reindex). Or, bother us in the t.me/DcInsiders telegram.
  • Be sure to delete old data directorires from previous versions (~/.drivenet, ~/.testchain).

What’s New – Nov 21, 2022 (v44)

Mainchain

  • Sidechain deposits are now only 2 marginal bytes, and have no signatures ever. (Previously, they were ~80 bytes, and had a pointless ECDSA signature.)
  • The Drivechain Integration testing script has been upgraded to activate and withdraw from multiple sidechains at once.
  • More fun tools in the “Tools” dropdown menu.
  • Fix mainchain SCDB Byte commitment bug

Sidechain

  • Sidechain template refreshbmm bug fix

Useful Tips

1. How to Mine Blocks

On the mainchain, use the “Tools” dropdown, and select “GUI Miner”.

On the sidechain, go to the “Parent Chain” tab, and “BMM” sub-tab.

2. Useful Tools

3. Fast Sync (Casual Users)

The initial block download is slow. Let’s skip it! (Only requires 8.8 GB download, instead of 100’s.)

Open Linux terminal (in Ubuntu, cntrl+alt+t), and run these:

# Download Files
cd ~/Downloads/
curl -O http://172.105.148.135/drivechain/drivechain-linux-pruned-739597.tar.gz
curl -O https://www.drivechain.info/releases/bin/drivechain-0.44.00-x86_64-linux-gnu.tar.gz
# Make Directory
mkdir ~/.drivechain
# Extract Files
tar -xvzf drivechain-linux-pruned-739597.tar.gz -C ~/.drivechain
tar -xvzf drivechain-0.44.00-x86_64-linux-gnu.tar.gz
# Run Software
./drivechain-0.44.00/bin/drivechain-qt --prune=2600

Those commands will:

  1. Download this pre-synced directory tar.gz (warning: 8.8 GB).
  2. Download DriveNet testnet.
  3. Extract the downloaded files.
  4. Run Drivechain in pruned mode.

Selected Older Release Notes

Sept 15, 2022 (v44)

Mainchain

  • M4
    • We overhauled M4 to make it easier to understand. It is now more UTXO-like. New code, to reflect this change.
      • There was also associated refactoring of withdrawal updates & voting
      • These changes allowed much more code to be deleted, than added! (238 additions and 949 deletions), and (583 additions and 2,009 deletions), respectively.
    • New GUI to help people understand what is going on! See for yourself how M4 works.
    • The BIP text has been updated to reflect these clarifications. I think the BIP is now much shorter, simpler, and better organized. Will this put an end to pervasive BIP300 misunderstandings? Probably not.
  • UX / Quality of Life
    • Hash calculator dialog upgrades
    • New version of paper wallet dialog, split into create & restore wallet tools

Sidechains

  • RPC
    • Added getwithdrawalbundle RPC to all sidechains. Returns the current withdrawal bundle transaction hex encoded

Jun 7, 2022 (v42)

  • Bip300/301
    • Sidechain address bytes have been removed – they were clunky and unnecessary. Sidechain deposit key data is now determined by sidechain number. Sidechain proposal scripts are now significantly smaller as they do not include key data. Plus there is less work for the user to do in the GUI / command line. Sidechain proposals only require a title and sidechain number now.
    • BMM bug fixe, and size reduced from 9 to 8 bytes.
  • Quality-of-Life
    • Hash calculator updated to add ascii decoded output, sha512 hash function, and a new HMAC tab.
    • Basic paper wallet dialog added, but only BIP 39 wordlist generation is enabled for now.
  • zSide
    • We can now copy zCash via Nikitas “bridge” submodule. This allows us to copy the latest version of zCash, which has Halo2, no trusted setup, orchard addresses, performance improvements allowing shielding on mobile, plus whatever else bugfixes and changes they made.
  • BitAssets
    • Fixed wallet bug causing balance to vanish from GUI after asset transfer / creation.
    • Fixed asset creation bug where headline would be replaced with ticker characters.
    • Fixed bug that caused change from bitasset transfer to be counted as a bitasset.
    • Fixed wallet code for transferring bitassets to select correct amount of input instead of all assets of a certain type.
    • Fixed the “My Assets” table to update after transfers instead of waiting for a new block.
    • Added send all button to asset transfer dialog.

Mar 23, 2022 (v41)

  • Software is now a hard fork at block 729,792. Mining difficulty will be reset to the initial minimum and non-updated nodes will become incompatible. Syncing the Bitcoin Core blockchain requires about 450 GB of storage. Enabling txindex will use ~20 GB of additional storage.
  • GUI performance upgrades.
  • Improve BMM request encoding, reduced minimum BMM bytes in transaction from 13 to 9.
  • Updated cache sizes and chain params for faster IDB & sync.
  • Fix BMM request selection miner bug.
  • Update overview page & mempool table with fiat conversion.
  • GUI allows setting BTC/USD price.

Oct 24, 2021 (v40)

This update has a lot of small improvements and bug fixes but most notable are the new GUI elements. The overview page now shows the latest transactions on the network, latest blocks, and the new “Coin News” section.

Mainchain

  • Built-In Block Explorer
    • Merkle tree overhauled – added reverse concatenated bytes (RCB) and split into tabs
    • Block index details re-ordered, added witness hash
  • blockchain.info-style “transaction fireplace”
    • showing “latest transactions” (in mempool) and their fee-rates
    • “latest blocks” (shows recent blocks mined, lined to block explorer)
  • New Feature: CoinNews
    • This is a completely opt-in GUI feature which automatically organizes OP return data based on its fee rates.
    • While utterly simple, I think Bitcoin will find it fun and useful. Certainly its something new and harmless.
    • Added OP_RETURN output database, news creation dialog, news management dialog
    • Added ‘createopreturntransaction’ RPC, graffiti explorer table model, table, popup window (displays all OP_RETURN data)

Sidechains

  • Updated sidechain block creation and validation, to include coinbase commitment of the block version and current WT^ hash
  • this completes the “header-ization” of the coinbase.
    • (Now each sidechain contains its own header in the coinbase, and each SideHashMerkleRoot cements the block to exactly one place in the BTC blockchain. So, now h* contains all the relevant consensus data – sidechain block headers and hashes are just for sidechain IBD and convenience).

Aug 6, 2021 (v39)

  • Mainchain
    • Updated deposit validation & RPC interface. Update deposit object members, comments, renaming.
    • Update SCDB deposit handling, remove AddDepositsFromBlock function.
    • Improve SCDB deposit lookup speed by caching set of deposit TXID.
    • Updated BMM validation & RPC interface.
    • Refactoring and improved drivechain cache initialization (fix VerifyDB bugs, don’t re-load caches).
    • Refactor WT^ and Deposit collection in ConnectBlock.
    • Update block explorer & tx details dialog.
    • Updated GetSidechainValues validation to use coins view based on chainTip to check block and coins view including the mempool when accepting a deposit into the memory pool worker. (Fixes VerifyDB / block disconnect and reconnect CTIP update errors without having to re-load cache during init).
  • Sidechain Template
    • Overhaul BMM & Deposit validation, reduce sidechain block header size and sidechain deposit transaction size. Simplified validation and RPC communication with mainchain.
    • Add previous mainchain block commit requirement for coinbases (makes BMM h* much easier to validate, and much easier to understand / think about).
    • Fix deposit fee collection bug.
    • Update BMM cache to include verified deposit txids. Write all of the BMM cache to disk instead of persisting in memory only.
    • Completely remove all unused PoW related code (template is full BMM now, including headers).
    • Updated deposit sorting: Simplified, more comments, double check CTIP ordering one more time once sorted.
    • Update block explorer & tx details dialog.

June 1st, 2021 (v38 / v37)

  • Mini block explorer
    • (You can even decode a Merkle tree manually.)
  • Sidechain replacement
  • Sidechain activation bug fixes
  • Spelling errors on sidechain proposal dialog fixed by Felix Ha (https://github.com/fx-ha)
  • Mempool deposit bug fixes
  • Show sidechain balance on sidechain list
  • Sidechains now have headers / an SPV mode that makes sense.
  • zSide
    • Now has a Linux binary.
    • Now has a nice GUI, Melt/Cast.
  • All sidechains now have their activation information in the GUI (Debug window).

Dec 28, 2020 (v36.00)

Deposit UX

  • You now get immediate graphical feedback when you make a deposit. The GUI tracks coins every step of the way, from your wallet, into “limbo” (between chains), and finally into the sidechain.
  • Sidechain addresses no longer need to start with an “s”. In fact, the mainchain now deposits coins wherever you say, no questions asked. It can therefore send to an address of any shape or size – if the SC recognizes it, the coins will show up. Thus we can deposit to, for example, zcash t-addresses or testchain bech32 addresses.
  • New RPC command ‘formatdepositaddress’ will take any sidechain address and format it in the XX_XXXXXX_XX format now used for deposits.
    • Deposit code works much faster.

GUI / Quality-of-Life

  • “Abandon failed BMM transactions” - now has best-of-both-worlds treatment. If the checkbox on the miner dialog popup is toggled, it triggers immedately (in addition to triggering every 10 mins from that point afterward).
  • Hash calculator added to mainchain Tools menu
  • “Sidechain management” upgrades. Setting WT^ votes and adding / removing sidechains is now more simple and easier to find.
  • Added sidechain details popup dialog (double click an active sidechain on the sidechain list to see details)

Refactor

  • Deposit validation mempool rules refactored

Oct 18, 2020 (v35.00)

  • Windows binaries!
  • Automatically abandon failed BMM requests periodically (GUI version only)
  • Add error checking for sidechain .dat files during init
  • Updated testchain configuration file generator
  • Fixed bugs related to sidechain deposits when there are multiple active sidechains.
  • Bitcoin Core patch https://github.com/bitcoin/bitcoin/pull/13622 to remove network request counting from wallet txns - remove DoS vector
  • Fixes & improvements to BMM transaction abandonment code
  • Fix reindex init bug: ignore sidechain number during AcceptBlock if we are reading from disk and reindexing
  • Removed unused code from sidechain database & refactoring

Sept 25nd, 2020 (v34.01)

  • Withdrawals
    • Withdrawls can now be canceled. Use RPC ‘createwtrefundrequest’, or right-click from the GUI.
  • If a withdrawal bundle (WT^) fails there will be a waiting period before the next WT^ – use this time to cancel a withdrawal.
  • Withdrawal bundles (WT^s) expire early, when they fall so far behind they can no longer succeed. This allows a new withdrawal bundle to be created ASAP.
  • GUI
    • BMM table overhaul - the BMM table has been upgraded to include a lot more information.
    • New amount field widget (testing on the sidechain first) that replaces all fields where you would enter a Bitcoin amount
    • The “train schedule” UI is now accurate, and so has been re-enabled.
    • Manual BMM tab has been demoted to a button (since it took up a lot of space and no one uses it).
    • Similarly, the “old” tab on mainchain & sidechain “Receive” area, has been demoted to a button.
    • The mainchain “Active Sidechains” list is much cleaner now.
  • Minor Changes
    • Fix very unlikely leveldb object issue, where a normal transaction would be misidentified as a sidechain object transaction.
    • Removed —mainchainrpcport command line / config file option. Now subsumed by —mainchainregtest, as the mainchain regtest port will automatically be used for RPC communication.
    • ‘refreshbmm’ now returns much more data
    • Sidechain has RPC ‘getwt’, which returns all of the data for a sidechain withdrawal.

June 22nd, 2020 (v33.03)

Almost too many improvements to list.

Here are a few big ones:

  • Easy tracking of user’s withdrawals:
    • Sidechain has a fully fleshed out “Withdrawal Explorer” GUI. And a helpful “lower ribbon” in the SC window.
    • Mainchain can double-click to “open up” Withdrawal Txns (as they are being ACKed) to see their contents.
  • Much easier for users to understand withdrawal fees – mainchain tx fees and sidechain fees are explicitly broken out. Withdrawals are dynamically sorted by Mainchain fee.
  • Easy to see/explore the entire past History of withdrawals.
  • BMM Miner – now fully configured by default. Has ‘start’ and ‘stop’ buttons.
  • Mainchain GUI Miner, with useful info; convenient button for reclaiming failed BMM requests.

April 20, 2020

So many improvements, we need to split the list into sections:

Mainchain (v 31.01)

GUI:

  • Bottom bar simplified and more informative.
  • Added withdrawal-details – if a sidechain full node is connected, mainchain will now display details about the WT^.
  • Sidechain escrow status moved to the manage window.

Deposits and BMM-Spends:

  • abandonbmm: Automatically abandons (and allows the coins to be spent again) immediately and BMM requests that were removed from the mempool. Also checks the mempool for any BMM requests that should be removed and abandons those as well.
  • abandondeposits: Does the same thing as abandonbmm but for deposits. Deposits that fail will immediately be refunded and the coins spendable again instead of waiting for the wallet to handle it automatically.
  • Update mempool entries to track whether they are sidechain deposits, to improve the speed of looking them up / removing them.
  • BMM mempool removal / expiration bug fixes and speed improvements
  • Keep track of removed BMM transactions and failed sidechain deposits so that they can be manually abandoned using new RPC commands if you don’t want to wait a long time for the wallet to do it automatically.
  • Make the mempool track whether a BMM / critical data request transaction was added since the last block (this makes the new —minerbreakforbmm startup parameter possible)
  • Add —minerbreakforbmm startup parameter. Now you don’t have to use the —minersleep option to mine BMM blocks. The miner will now automatically add BMM transactions to the block it is mining if —minerbreakforbmm is set. This happens more or less instantly, no more need for a pause.
  • Improved sidechain deposit validation code

Bugfixes:

  • Fix bugs that would rarely cause lockup due to validation interface syncing deadlock issue. Known issue with bitcoin core that cannot really be fixed. If a sidechain deposit was created at the exact same time as a new block and the deposit function tried to sync the validation interface queue this would sometimes call ActivateBestChain which can cause a deadlock situation.
  • Updated mempool deposit (CTIP) handling: Improved speed and bug fixes that could lead to txn-mempool-conflict errors or deposits staying in the mempool that should have been removed.
  • Fixed sidechain deposit bug where a block is disconnected and a now invalid deposit remained in the mempool
  • Fixed bug where miner would include now invalid deposits in the same block that a WT^ spent the same output as a deposit

Withdrawal-Tracking:

  • Huge improvements to the sidechain withdrawal table model. Now there is only one instance initialized, and it is only refreshed when a new block is connected. This greatly reduces calls to the sidechain database.

Sidechain (v 5.02)

GUI:

  • Added “WT^ explorer” to sidechain GUI (“Parent Chain”). This will let you watch the latest WT^ (withdrawal) or lookup any WT^ in the database. You will be able to see the total wealth of the sidechain, the amount that a WT^ will be withdrawing, and the addresses / amounts that are going to the mainchain.
  • Sidechain BMM tab default refresh rate changed to 1 second
  • Added note about new “–minerbreakforbmm” mainchain startup parameter to sidechain BMM page
  • Update sidechain currency unit to “SC1” instead of “BTC”

New RPC commands:

  • getmainblockhash: Call the mainchain getblockhash RPC from the sidechain
  • updatemainblockcache: Manually update the cache of mainchain block hashes and handle a reorg if one is detected
  • verifymainblockcache: Manually verify the cache of mainchain block hashes with the local mainchain node
  • rebroadcastwtprimehex: Manually re-broadcast the sidechains raw WT^ txn cache to the local mainchain node

Major Improvements:

  • Add mainchain block hash cache & mainchain reorg detection / handling (this is a big one, see: https://github.com/drivechain-project/sidechains/commit/d9d9c33209e4edc140400fe7d184af2e8e9f12a4)
  • Added a ton of BMMCache tests (see https://github.com/drivechain-project/sidechains/commit/f03f10eba27ad356843f9295079321927470577e)
  • Refactored BMM updates / scanning for BMM commits on the mainchain - much faster now and with reduced RPC calls.
  • Change the DoS score for BMM verification failure of new header / block from 100 to 1. (In rare cases, the sidechain may receive a new block before the local mainchain node it is connected to receives the block with the BMM proof.)
  • Greatly improved processing speed of sidechain deposits (especially when there are a large number of them)

Other Improvements:

  • Display hashMainBlock in GetBlock RPC
  • Add DB_LAST_SIDECHAIN_DEPOSIT key & value to txdb (leveldb) this makes looking up the last sidechain deposit a lot faster
  • Add a std::mutex and std::lock_guard to protect mainchain block cache updates
  • Changed DEFAULT_CHECK_LEVEL (for VerifyDB during startup) from 3 to 4.
  • Cleaned up leveldb index code - faster and less duplicate keys
  • Moved tracking of the last sidechain WT^ (withdrawal) to leveldb database
  • Improved pop up error messages
  • Peer banning is now logged

Bugfixes:

  • Fix lock order bugs
  • Improved BMM verification speed
  • Fixed WT^ (Withdrawal) replication bugs
  • Fix miner bug: don’t create a deposit payout transaction that makes the block too large

DriveNet30 – February 25, 2020

Mainchain (“DriveNet 0.30.00”):

  • Fully backwards compatible – (would sync with Bitcoin Core 0.12.0 [for example], if 0.12 had our genesis block)
  • NODE_DRIVECHAIN signaling / service flag
  • Overview page now has a “More” frame, and a “sidechain status”
    • click on a wt^ to go to the WT^ table
  • No “loaded coins” – fresh blockchain, new genesis block.

Sidechain (“TestChain 4.00.00”):

  • All BMM checks now enabled by default
  • testchaind handles disconnections the same way as Qt (checks for mainchain connection in a few different places)
  • Refactoring of BMM block creation
  • Refactoring of sidechain client / refreshbmm RPC

DriveNet29 – November 26, 2019

Here is a pull request of all v28 –> v29 changes: https://github.com/drivechain-project/mainchain/pull/2

  • Refactoring and bug fixes for WT^ workscore calculation.
  • Save custom WT^ voting setting to disk so you don’t have to set them again after restart
  • New RPC commands for showing WT^(s) which have been approved and paid out, as well as interacting with WT^ votes: listspentwtprimes, listwtprimevotes, setwtprimevote, clearwtprimevotes
  • Add WT^ vote table model & view to GUI so that you can view and set WT^ votes via GUI
  • Move optional and required Drivechain .dat files to “datadir/drivechain” subdirectory for cleaner more organized datadir
  • Add spent WT^ cache to SCDB and persist on disk
  • Fix WT^ spending bug when blocks are disconnected / reorged.

DriveNet28 – October 23, 2019

New version of DriveNet (and the testchain sidechain) are ready for you guys to use!

The newest version of DriveNet is drivenet-0.28.06 (we had 6 revisions of this release during the testing process)

You’ll need to delete your data directories for this new release as we are starting with a new genesis block. Save your loaded_coins.dat file if you don’t want to re-download it though as we are using the same loaded coins snapshot.

There are a ton of changes in this release. Check out the commit lists:

  • Mainchain commits: https://github.com/drivechain-project/mainchain/commits/master
  • Sidechain commits: https://github.com/drivechain-project/sidechains/commits/testchain

a. Code Has Moved

  • All drivechain code is now at https://github.com/drivechain-project.

b. Mainchain GUI changes

  • Add sidechain fee warning & sidechain deposit confirmation pop up window
  • Set default WT^ vote from sidechain page
  • Add note about abandoned sidechain deposits to the transactions table
  • Require manually setting a fee for sidechain deposits

c. Mainchain updates

  • Add formatted CTIP amount to listsidechainctip RPC
  • Refactor and update ConnectBlock WT^ spending code
  • Added some more logging outputs
  • Add getscdbhash & gettotalscdb hash RPC commands for debugging and integration testing script purposes
  • Automatically abandon expired BMM request from the wallet after they are removed from your mempool
  • Automatically abandon failed sidechain deposits after they are removed from your mempool

d. Mainchain bug fixes

  • Sidechain database (SCDB) block disconnection bug fixes
  • Add complete SCDB::Undo function that can handle various edge cases and make sure that SCDB is re-synchronized after a block is disconnected.
  • Fix SCDB reindex edge case bugs
  • Sidechain proposal miner code fixes & updates
  • Fix CTIP updates when a block is disconnected
  • Fix deposit ordering bugs when loading from deposit cache
  • Loaded coins bug fixes, refactoring, cleanup
  • Remove a LOCK that shouldn’t have been there (caused miner bugs)
  • Don’t signal RBF for BMM requests
  • Fix fee & input selection / calculation bugs for sidechain deposit wallet code
  • Fix miner WT^ spend bug at the end of a WT^ verification period that would have the miner spend a WT^ after it has expired - resulting in their block being rejected as invalid even by their own node.

e. Sidechain GUI changes

  • Add a basic version of “train schedule” to the sidechain page which gives an estimate of when the next WT^ will be created if there are pending withdrawals
  • If the connection to mainchain fails show an error message. If the user doing BMM on the sidechain then disable networking until the mainchain connection is restored

f. Sidechain updates

  • Sidechain nodes create WT^(s) in a deterministic way and other sidechain nodes can replicate and verify new WT^(s). The function VerifyWTPrimes() has been added for this purpose.

g. Sidechain bug fixes

  • Refactoring of WT^ transaction creation
  • Fix CTIP payout amount bugs on sidechain
  • Refactor / new version of deposit sorting & payout calculation
  • Fixes and refactoring of deposit payout transaction code
  • Check more frequently on the mainchain connection
  • Some RPC function param names corrected
  • Fix WT ldb ID uniqueness bug - if a wt duplicated both mainchain destination and amount - leveldb would overwrite the older entry.

DriveNet25 – August 20, 2019

BTC UTXOs shapshot at block #590,000. In many ways, this software acts as if it hard forked from BTC on August 14th. Ask us for testnet coins!

  • New integration script: https://github.com/CryptAxe/DriveChainIntegration
    • Just run ./drivechainintegration.sh , and the script will clone, build, and then run DriveNet, activate a sidechain, deposit to and withdraw from the sidechain. It’s just a basic test for now, and the script could use some refactoring already but if you’re feeling adventurous you can give it a try. You’ll need all of the bitcoin dependencies as this will actually compile the software. I have them listed here: https://github.com/CryptAxe/Setup/blob/master/setup.sh
  • Major improvements to sidechain template. To make it easier for other people to create new sidechains.
  • Superior automation – nearly everything is exposed to the RPC / CLI interfaces now. Previously, most drivechain specific functions were all only accessible via GUI.
  • BMM code has been refactored
  • Mainchain WT^ voting is accessible to GUI and RPC, which should be available in a next release on this same chain.
  • Refactored code that was caching WT^(s) on the sidechain and turned it into a more general purpose BMM cache. Now it caches the results of BMM proof validation, and eventually should also cache the results of deposit validation. This saves a ton of local RPC requests depending on your nodes BMM validation settings it could save thousands of requests during a reindex and startup.
  • Made BMM validation easily configurable. Previously you would have to actually set values in validation.cpp and re-compile if you wanted to specify the level of BMM validation your node will perform. Now this can be done with these startup params: (-verifybmmcheckblock, -verifybmmreadblock, verifybmmacceptheader)
    • So, for example to run with maximum BMM validation: ./src/qt/testchain-qt —verifybmmcheckblock —verifybmmreadblock —verifybmmacceptheader
    • The same options will be made available for deposit validation soon.
  • Fixed a bug with the size of sidechain git commit hashes. Should have been stored / read as uint160 not uint256. (This bug caused the commit hash to actually be wrong if you list active sidechains)

DriveNet24 – June 12, 2019

“Beta Release”

Important:

You will need to move loaded_coins_drivenet_0_24_00.dat into your data directory and rename it loaded_coins.dat

example: cp loaded_coins_drivenet_0_24_00.dat ~/.drivenet/loaded_coins.dat

Updates include:

  • The re-activation of loaded coins for testing. Only the first few releases imported a UTXO set (in those cases the entire bitcoin core UTXO set) before we turned it off due to some bugs and the large setup / import time.

In this version we have a loaded coins UTXO set with a few outputs for beta testers to use. There are no UTXOs from bitcoin core for the beta. If you would like one of the limited testing outputs (1,000 testnet coins) just ask.

  • Loaded coins bug fixes:
    • Correctly handle spent status of loaded coins when a block is disconnected for a reorg etc. This is different than a normal UTXO as the transaction which created the UTXO doesn’t actually exist in any of the blocks we rewind.
    • Fix pointer bug that would cause errors during shutdown after importing a private key that owns a loaded coin UTXO.
  • Fix sidechain database synchronization issues during startup sometimes caused by VerifyDB()
  • Fix sidechain database and sidechain activation bugs during reindexing
  • Fix bugs in IsBMMRequest
  • Fix SCDB sync bugs during init
  • Refactoring, comments updated, more debug logging added, add a ton of unit tests
  • If you do run into an issue, you should be able to fix anything now simply by reindexing (./drivenet-qt —reindex)

DriveNet-23 – April 25, 2019

New Stuff:

  • “beta” version of GUI themes. Settings->Options->Display : Theme (dropdown selection box)
  • No need to delete any of your existing data.

DriveNet-22 – April 15, 2019

DriveNet-22 and testchain-3.

We are resetting / starting with a new blockchain. You need to clear out both your DriveNet (~/.drivenet) and testchain (~/.testchain) data directories to use the new version. No sidechains will be active when you first start up DriveNet-qt.

  • Sidechain activation period lowered to 256 blocks with a maximum failure count of 64; for faster / more testing.

Bug fixes and improvements to BMM including:

  • Add 4 bytes of the previous sidechain block hash to BMM request. In addition to the sidechain number and some identifying bytes, BMM requests now include 4 bytes of the previous sidechain block hash.
  • Add optional signalling of WT^ hash in sidechain block headers. Added a WT^ hash field to sidechain block headers, for signalling the current WT^ that the mainchain should be voting on.
  • Fixed issue where BMM / critical data transaction fee outputs were not being collected by the miner. If you mine a block that includes these transactions, you will receive the fees at the same address as the coinbase payout.
  • Fixed issue with depositing to a sidechain after a WT^ payout has happened on that sidechain. Fix WT^ spend tracking, update CTIP properly.

DriveNet-21 – April 8, 2019

Bugfixes and Cleanup

DriveNet-20 – Mar 23, 2019

Bugfixes

DriveNet-19 – Mar 22, 2019

  • The testchain sidechain has activated – its binary (testchain-1.01.00) is on the google drive.
  • Please make sure you update to the new version of DriveNet and testchain before trying to deposit to the new sidechain.
  • You do not need to delete any of your drivenet data, but you should delete your ~/.testchain folder if you have one.

Thank you to everyone who mined and provided data / logs during the process!

DriveNet-18 – March 14, 2019

Whats new:

  • GUI: Add comma separation to amount fields
  • GUI: Reorganize sidechain page
  • Other small gui fixes

DriveNet-17 – Mar 11, 2019

Hey everyone! We have a new version of DriveNet with a lot of upgrades ready. There’s also a new version of the sidechain template which has been renamed from “sidechain one” to “testchain”. We’re starting with a new blockchain so you’ll need to clear out all of your old data.

The sidechain management page (where you can propose a new sidechain or ACK / NACK current sidechain proposals) has been overhauled so it should be less confusing to create a new sidechain or activate one that someone else has proposed.

There’s more to come but this release has a ton of bug fixes, refactoring and improvements to test out. There are more bugs to fix but overall this version brings us very close to a final result (whatever that means for software that is never finished). We have more (mostly GUI) improvements to add but I think we can release something “finished” really soon.

At some point we should cooperate in the telegram to activate the testchain sidechain. If many of us are mining and ACK/NACKing the sidechain it should be an interesting test.

What’s new:

  • Improvements to sidechain control page (create new sidechains, ACK new)
  • No longer depend on the wallet code to watch sidechain addresses.
  • Simplified receive page
  • Add comma separators to amount fields on testchain sidechain
  • Other GUI improvements

Bug fixes:

  • Fix reindex bug that some people had when enabling txindex
  • Fix BMM change maturity bug
  • Copy bug fix a8b5d20f4f171828b2bd70ab2405c42b1e452e5b from upstream
  • Fix WT^ creation bug
  • Fix SCDB WT^ tracking bugs
  • Fix sidechain activation bugs

DriveNet-15 – Jan 9, 2019

This update includes: Sidechain miner dialog (sidechain activation & other settings) GUI improvements.

Sidechain activation bug fixes

You don’t need to clear out your data directory or anything else, just start using the new binary.

DriveNet-14 – Jan 3, 2019

This version has added basic GUI control of sidechain activation & voting. On the sidechain tab you will now see a “manage” button. Clicking “manage” will show a new window where miners can propose new sidechains, decide which sidechains to signal activation for, and generate configuration files for the mainchain and any sidechains.

You don’t need to clear out your data directory, just start running the new version.