Skip to main content

2023-11 Devnet v0.0.2 release notes

13 November 2023

Midnight is a regulatory-friendly data protection-based blockchain that safeguards sensitive commercial and personal data, protecting fundamental freedoms of association, commerce, and expression for developers, companies, and individuals. Midnight utilizes a novel data protection-first programming model and zero-knowledge (ZK) proofs while operating as a Cardano partner chain.

Overview

This devnet release is Midnight’s first alpha version, which is being made available to a select audience of the developer community. We aim to solicit their feedback on the progress of Midnight technology and development. It is the first of many iterations of the functionality on the roadmap to Midnight Mainnet.

These release notes present the core features of Midnight that are being made available to this inaugural group of participants and list some of the known issues our team has mapped and is working to resolve. During the devnet campaign, we will use our Discord channel to update you on resolutions and any new issues we find.

Impacted Users

These release notes apply to all Midnight devnet users.

Impacted Components

ComponentVersionChange/impact
Blockchainnodebd45, 4f5f8ad38, 70417868e, 903edade, 061e555cfeInitial release
Pub-sub indexer0.2.10Initial release
Wallet (Lace)1.0.4Initial release
DApp Connector1.0.0Initial release
Proof generator2.0.4Initial release
Compact Compiler0.8.11Initial release
Visual Studio plugin0.2.10Initial release

Additional Resources

Dev Support

Access is granted only to devnet participants. If you cannot access these resources, please contact us via the details provided in the devnet invitation email.

We will also offer in-person consultation assistance and publish the support hours windows and availability for devnet participants to secure a consultation. Details will be provided via the Discord channel.

Social Channels

What is new in this release?

New Features

  • Build data-protection smart contracts using the Compact domain-specific language (DSL) and Compact compiler. Generate Javascript, cryptographic materials, and circuit descriptions needed by the proof to create the ZK proofs that enforce the terms of a smart contract while shielding the private data.
  • Store, manage, and interact with Midnight assets and decentralized applications (DApps) directly within the Google Chrome web browser using a Midnight version of the popular Lace wallet.
  • Pay for transactional costs and move value peer-to-peer using shielded tDUST tokens.
  • Create ZK proofs and perform ZK computations using the local proof generator software to facilitate submitting transactions and proof data from clients.
  • Index the Midnight blockchain data to support wallet and DApp functionality using the Pub-sub indexer to query data directly from the ledger.
  • Write Midnight DApps in Typescript and Compact DSL code supported by the Visual Studio Code plugin.

Bug Fixes

N/A

Enhancements

  • No enhancements are considered for this release since it is the first release.

Known issues

PM-7595
Wallet history shows only transaction fees to preserve the confidentiality of the transaction. Other visualization methods will be made available in the future.
PM-7815
The following error messages or behaviors of the wallet require the user to resync the wallet by using the resync button next to the syncing status in the menu.
PM-7830, PM-7826, PM-7790
  • Wallet locks funds when an error happens after a transaction is balanced/built but before it is submitted.
  • When a Not sufficient funds error appears, and no errors are present in the node logs, it might be the wallet locking funds due to an error before submitting a transaction.
  • When a Wallet was not synced. Connection was lost error appears, it might be because the wallet is locking funds due to an error before submitting a transaction.
  • Wallet locks funds when a valid transaction is submitted but fails execution in the node
PM-7832
Wallet displays a popup indicating that it cannot “fetch ADA price”. When this occurs, the user can close this message and proceed further. Ada is not a token available for use on Midnight devnet.
PM-7820

The following error messages or behaviors of the wallet require the user to create a new wallet:

  • RuntimeError: unreachable at was: Not sufficient funds to balance token

PM-7594
When the headless wallet is stopped, it might show an error saying node:events:495 throw er; // Unhandled 'error'. It's an internal abrupt close of connection, but nothing is wrong. Users can ignore this message.
PM-7593
When headless wallet connects to the pub-sub indexer, it might fail with error message <java.security.SecureRandom is not supported on this platform because it provides neither crypto.getRandomValues nor Node.js "crypto" module. Users should apply the workaround:
Unset
import { webcrypto } from "node:cryptou"; // \@ts-ignore
global.crypto = webcrypto;