iToverDose/Yazılım· 11 MAYIS 2026 · 00:04

Midnight Ağında Gizli Token DApp Nasıl Oluşturulur: Adım Adım Rehber

Gizlilik odaklı blok zinciri Midnight üzerinde tamamen korumalı token uygulaması geliştirmek mi istiyorsunuz? Compact sözleşmeyi dağıtıp, gizli transferler yapmayı ve kullanıcı dostu bir React arayüzü oluşturmayı öğrenin.

DEV Community3 dk okuma0 Yorumlar

Blok zinciri teknolojisinde gizlilik, giderek daha fazla kullanıcı ve geliştiricinin odak noktası haline geliyor. Midnight ağında çalışan korumalı token uygulamaları, işlemlerinizi ve bakiyelerinizi tamamen gizli tutarken, aynı zamanda defterin bütünlüğünü koruyan sıfır bilgi kanıtlarıyla (ZK-proofs) çalışır. Peki, bu uygulamanın arka planındaki mantık nasıl işliyor? İşte adım adım bir rehber.

Midnight ağında dağıtılan her korumalı token, yalnızca cüzdan sahibinin yerel olarak şifresini çözmesine izin verirken, ağ üzerindeki herkesin görebileceği tek veriler, toplam arz ve yakılan miktar gibi genel istatistiklerdir. Bu sayede, finansal gizliliğinizi korurken, token ekosisteminin şeffaflığına da katkıda bulunabilirsiniz.

Gizli Token Uygulamasının Temel Bileşenleri

Korumalı token uygulaması geliştirirken üç ana bileşen ön plana çıkar:

  • Compact Sözleşme: Midnight ağında çalışan, gizli token işlemlerini yöneten akıllı sözleşme.
  • Sıfır Bilgi Kanıtları (ZK-proofs): İşlemlerin doğruluğunu kanıtlayan, ancak hassas verileri ortaya çıkarmayan matematiksel kanıtlar.
  • React Tabanlı Kullanıcı Arayüzü: Kullanıcıların gizli tokenlerini tarayıcı üzerinden yönetmelerini sağlayan web arayüzü.

Bu bileşenlerin senkronizasyonu, Midnight ekosisteminin temelini oluşturur. Uygulamanın her adımında, hem gizlilik hem de performans dengesi gözetilir.

Ön Gereksinimlerinizi Kontrol Edin

Projeye başlamadan önce aşağıdaki araç ve bileşenlere sahip olduğunuzdan emin olun:

  • Node.js (sürüm 20 veya üzeri)
  • Midnight Cüzdanı (1AM veya Lace)
  • Preprod Faucet üzerinden test tokenları (NIGHT tokenları)
  • Gerekli npm paketleri: Compact çalışma zamanı, DApp bağlayıcı API, ZK-proof sağlayıcı ve React bağımlılıkları.

Bu bileşenler, projenizin temelini oluşturacak ve gizli token işlemlerinin sorunsuz bir şekilde yürütülmesini sağlayacaktır.

Compact Sözleşmeyi Derleme ve Dağıtma

Midnight ağında çalışan korumalı token uygulamalarının kalbi, Compact adı verilen özel bir akıllı sözleşme türünde yatar. Bu sözleşme, gizli tokenlerin oluşturulması, transfer edilmesi ve yakılması gibi temel işlemleri yönetir.

Genel Defter Durumunu Tanımlama

Sözleşmenin en önemli görevlerinden biri, genel defterdeki toplam arz ve yakılan miktar gibi saydam verileri yönetmektir. Bu veriler, herkes tarafından görülebilir ancak hassas değildir:

export ledger totalSupply: Uint<64>;
export ledger totalBurned: Uint<128>;

Bu değişkenler, token ekosisteminin sağlığını izlemek için kullanılır. Ancak, bireysel token sahiplerinin bakiyeleri ve işlemleri her zaman gizli kalır.

Gizli Veriler için Tanıkların Rolü

Her gizli token, benzersiz bir tanık (witness) gerektirir. Bu tanıklar, tokenin benzersizliğini ve güvenliğini sağlamak için kullanılır. Örneğin, yeni bir token oluştururken, yerel bir rastgelelik kaynağına ihtiyaç duyulur:

witness localNonce(): Bytes<32>;

Bu 32 baytlık rastgele değer, her token oluşturulduğunda yenilenir ve sıfır bilgi kanıtlarının oluşturulmasında kritik bir rol oynar.

Gizli Token Oluşturma İşlemi

createShieldedToken adlı devre, yeni bir gizli token oluşturur ve belirtilen alıcıya gönderir. Bu işlem sırasında, hem tokenin gizliliği korunur hem de ağ üzerindeki doğrulama süreci sağlanır:

export circuit createShieldedToken(
  amount: Uint<64>,
  recipient: Either<ZswapCoinPublicKey, ContractAddress>
): ShieldedCoinInfo {
  const domain = pad(32, "shielded:token");
  const nonce = localNonce();
  const coin = mintShieldedToken(
    disclose(domain),
    disclose(amount),
    disclose(nonce),
    disclose(recipient)
  );
  totalSupply = (totalSupply + disclose(amount)) as Uint<64>;
  return coin;
}

Bu devredeki disclose() fonksiyonu, alıcının ağ tarafından doğru şekilde yönlendirilmesi için gereklidir. Ancak, alıcı dışındaki hiçbir hassas bilgi deftere kaydedilmez.

Gizli Tokenleri Atomik Olarak Yönetme

mintAndSend adlı devre, gizli tokenlerin oluşturulmasını ve doğrudan alıcıya gönderilmesini tek bir işlemde gerçekleştirir. Bu süreç, Merkle kalifikasyonuna ihtiyaç duymadan gerçekleşir:

export circuit mintAndSend(
  amount: Uint<64>,
  recipient: Either<ZswapCoinPublicKey, ContractAddress>
): ShieldedSendResult {
  const domain = pad(32, "shielded:token");
  const nonce = localNonce();

  // Önce tokeni sözleşmeye bas
  const coin = mintShieldedToken(
    disclose(domain),
    disclose(amount),
    disclose(nonce),
    right<ZswapCoinPublicKey, ContractAddress>(kernel.self())
  );

  // Hemen alıcıya gönder
  const result = sendImmediateShielded(
    disclose(coin),
    disclose(recipient),
    disclose(amount) as Uint<128>
  );

  totalSupply = (totalSupply + disclose(amount)) as Uint<64>;
  return result;
}

Bu devre, tokenin oluşturulduğu aynı işlemde harcanmasını sağlar. Böylece, mt_index: 0 gibi özel bir indeks kullanılarak Merkle yoluna gerek kalmaz.

Gizli Token Transferlerinde Merkle Ağacı Kısıtlamaları

Yeni oluşturulan gizli tokenler, bağımsız bir işlemde doğrudan harcanamaz. Bu nedenle, transferShielded adlı devre, transfer işlemi için Merkle ağacı kanıtına ihtiyaç duyar:

export circuit transferShielded(
  coin: QualifiedShieldedCoinInfo,
  recipient: Either<ZswapCoinPublicKey, ContractAddress>,
  amount: Uint<128>
): ShieldedSendResult {
  const result = sendShielded(
    disclose(coin),
    disclose(recipient),
    disclose(amount)
  );
  return result;
}

Bu devrede, coin.mt_index kullanılarak tokenin geçerli Merkle yoluna sahip olduğu kanıtlanır. Cüzdanınızın yerel Zswap durumu, ağdaki mevcut kökle uyumlu olmadığında, işlem başarısız olacaktır.

Geliştirici Odaklı Sıfırdan Uygulama

Bu adımlar, Midnight ağında gizli token uygulamaları geliştirmenin temelini oluşturur. Uygulamanızın performansını ve güvenilirliğini artırmak için, aşağıdaki en iyi uygulamaları göz önünde bulundurun:

  • Sıfır bilgi kanıtlarının optimize edilmesi: İşlemlerin doğruluğunu kanıtlarken, hesaplama maliyetlerini minimize etmek.
  • Kullanıcı arayüzünün basit tutulması: Karmaşık işlemleri kullanıcılar için anlaşılır hale getirmek.
  • Ağ senkronizasyonunun sürekli kontrolü: Cüzdan ve defter arasındaki tutarlılığı sağlamak.

Midnight ağının sunduğu gizlilik odaklı altyapı, finansal uygulamaların geleceğinde önemli bir rol oynayacak. Bu rehberde öğrendiklerinizle, kendi gizli token uygulamanızı oluşturabilir ve blok zinciri ekosistemine yenilikçi bir katkıda bulunabilirsiniz.

Yapay zeka özeti

Midnight blok zincirinde gizli token uygulaması oluşturmanın püf noktalarını keşfedin. Compact sözleşme, ZK-proofs ve React arayüzüyle adım adım rehber.

Yorumlar

00
YORUM BIRAK
ID #OUBGTV

0 / 1200 KARAKTER

İnsan doğrulaması

8 + 2 = ?

Editör onayı sonrası yayına girer

Moderasyon · Spam koruması aktif

Henüz onaylı yorum yok. İlk yorumu sen bırak.