Developer Questions about NIGHT and DUST

Hi everyone! As many of you know we launched the NIGHT token earlier this week: https://x.com/midnightfdn/status/1996569677418385720?s=20

Next week I would love to discuss the implications of NIGHT and DUST for developers on Midnight. If you’re new to the community and want to read up on the tokenomics, you can view our light paper and our full white paper here: https://midnight.network/whitepaper

I want to cover things like feeless experiences, the cost implications of having a resource specifically for processing transactions, what’s shielded and what’s not etc.

This is not the place for speculation or token talk. This is a place for developers to learn about how NIGHT and DUST will work with their applications.

To prepare for the discussion, I want to open up to questions to all of you, the builders! Please post any questions you have on the implications of NIGHT and DUST for builders below :backhand_index_pointing_down:

5 Likes

Not sure if this is too much for what you were planning for this first session, but I’d like to understand a bit more, in practical terms, how the bridging/use of NIGHT on Cardano and Midnight would be like.

I’m thinking about transfers or payments of dApp services with NIGHT and how an app would go about performing such a transaction if the source NIGHTs are on Cardano and need to be sent to a recipient on Midnight, and the other way around. From what I’ve read you’d need to lock it on one chain and you’d get them automatically unlocked on the other chain, but was wondering if that would be possible in a single transaction from a dev/dApp PoV or it would be a few steps/transactions instead. I hope I’m making sense.

5 Likes

I would like more information on DUST designation and how I might be able to programmatically create, update, and delete designations for an address that owns NIGHT

3 Likes

I’d like to know if there is a night test token and if it’s something we could start messing with now. Or is that even gonna make a difference? I have some questions on how it’s going to play out on test net versus mainnet

2 Likes

Feel free to post all your questions here.

2 Likes
  1. The whitepaper says apps can pay for their users’ transactions. If my app gets really busy, will I hit the “DUST cap” and stop generating resources? Do I need to juggle multiple NIGHT wallets to keep enough DUST flowing for everyone?
  2. The paper mentions a “congestion rate” that makes fees higher when the network is busy. If I’m paying for my users, how do I predict my costs? Can I set a “max price” so a spam attack doesn’t drain all my DUST?
  3. Using DUST requires generating ZK proofs, which takes computing power. How long does this take on a regular web browser? Will it be fast enough for users on phones or laptops to generate these proofs easily?
  4. I know DUST decays if I move my NIGHT tokens. If I switch my NIGHT to a new wallet, is there a “warm-up” time before that new wallet has generated enough DUST to start sending transactions?
  5. The “minimum fee” exists to stop people from spamming the network. But what if my app sends valid data very frequently (like a price feed)? Will the network treat my useful updates like spam and charge me too much?
  6. The paper talks about “cross-chain observability” allowing actions on Midnight from Cardano. Since I can’t transfer DUST, how do I pay for those actions? Do I need to keep a separate wallet full of DUST on Midnight just to pay for things I trigger from Cardano?
2 Likes
  1. You don’t hit the DUST cap based on activity, that’s just the max DUST your current NIGHT holdings will generate. If you are using more DUST than anticipated, you can just add more NIGHT to the address generating the DUST or you can spring up another wallet with NIGHT and have that wallet point to your DUST wallet.
  2. I believe the breakdown for the fees are in the white paper but basically there’s a fixed fee as a base, a transaction weight based on the computation needed, and a congestion weight measured in DUST per byte. The congestion weight should be small but we’ll learn more as we go. Ultimately it would be great to have a tool for this, but there isn’t one available at the moment. You can find out more details about how DUST generation and usage works here: midnight-ledger/spec/dust.md at main · midnightntwrk/midnight-ledger · GitHub
  3. We have teams working on mobile but we are not there yet as far as I know. Proving takes a couple of seconds.
  4. As far as I know you can designate a DUST wallet after transferring your NIGHT, and it will start generating the DUST. The wait time is based on how much DUST you need to process your transaction, and how much NIGHT you are using to generate DUST.
  5. The system does not identify spam and the minimum fee is fixed. The point is in order to generate DUST, you have to hold NIGHT, and the DUST decays. So if someone tries to spam the network, their DUST would deplete quickly and naturally their operations will pause. In your case, you can monitor average usage, load up on NIGHT to cover your usage, and that’s it. You may be impacted by the congestion rate, but that’s a rate that applies to everyone based on network activity and should be minimal.
  6. The NIGHT token is on Cardano, the DUST wallet is on Midnight. DUST can cover transactions on Midnight. It cannot cover transactions on Cardano.
2 Likes

I have a question about Shielded Tokens!

What is shielded, in terms of viewing on chain?

Will I be able to see who holds X amount of a shielded token on chain, or is there any way to do this from the developer/Minter side?

What is, and what isn’t visible? Or is it more related to Smart Contracts?

Trying to wrap my head around it!

2 Likes

Essentially in app interactions and updating the ledger with data is shielded. Transactions involving NIGHT are unshielded.

You cannot view who holds X amount of shielded tokens without the user’s explicit permission. You would have to request info in your dapp.

2 Likes