Skip to content

App ID

appId, Drop cüzdanının edge'de dApp başına yapılandırmayı aramak için kullandığı bir UUID'dir. Üç şeyi kontrol eder:

  1. Hangi üst origin'lerin cüzdanı gömebileceği. Drop cüzdanı edge fonksiyonu, her yanıtta dinamik bir Content-Security-Policy: frame-ancestors <your-origins> başlığı ayarlar. Kayıtlı olmayan bir origin'den cüzdanı iframe'lemeye çalışan bir dApp, herhangi bir kod çalışmadan önce tarayıcı tarafından engellenir.
  2. Feature flag'ler. Tek tek dApp'ler, diğer entegrasyonları etkilemeden özelliklere (ek zincirler, ekstra varlıklar vb.) dahil olabilir veya bunlardan çıkabilir.
  3. Analitik kapsamı. Depolama, analitik ve partner başına durum appId ile anahtarlanır, böylece entegrasyonunuz temiz bir şekilde izole edilir.

INFO

appId, yerel geliştirmede isteğe bağlıdır. Atlayabilir veya herhangi bir UUID geçebilirsiniz; cüzdan yalnızca localhost'a izin veren bir CSP'ye geri döner. Herkese açık bir origin'e deploy ettiğinizde zorunlu hale gelir.

Bir App ID kaydedin

Bugün self-servis bir portal yok — kayıt, partner veritabanına karşı bir PR olarak yapılır.

  1. Bir UUID v4 oluşturun (örn. uuidgen veya crypto.randomUUID()).

  2. dApp'iniz için bir giriş ekleyerek apps/web/shared/partners.ts dosyasına bir pull request açın:

    ts
    const PARTNERS: Record<string, AppConfig> = {
      // ... existing entries
      '<your-uuid>': {
        domains: ['your-app.com', '*.your-app.com'],
        assets: { additionalEnabled: [] },
      },
    }
  3. PR birleştirildikten ve cüzdan yeniden deploy edildikten sonra, giriş yayına girer.

domains

Dizeler, tarayıcı tarafından bildirilen frame-ancestors origin'i ile wildcard-match kullanılarak eşleştirilir. Çıplak ana bilgisayar adları (your-app.com), joker karakterler (*.your-app.com) veya protokol dahil tam origin'ler (https://your-app.com) listeleyebilirsiniz. Bir ana bilgisayar adı geçerseniz hem http:// hem de https:// varyantları kabul edilir.

localhost ve 127.0.0.1, domains değerinden bağımsız olarak her zaman izinlidir. Böylece kayıtlı olmayan veya boş domains içeren bir appId ile ek yapılandırmaya gerek kalmadan geliştirme yapabilirsiniz.

assets.additionalEnabled

Varsayılan kümenin ötesinde cüzdan UI'ında gösterilecek ek zincir ID'lerinin listesi. Yalnızca varsayılanlara ihtiyacınız varsa [] olarak bırakın.

App ID'nizi kullanma

Cüzdanı oluştururken UUID'yi appId olarak geçin:

tsx
const wallet = createWallet({
  appId: '424306bd-e3ae-40c0-902b-dffb1f18c7cc',
  providers: {
    solana: true,
  },
})

SDK, bunu ?appId=<uuid> olarak iframe'e iletir — gerçekleştirmeniz gereken bir runtime handshake yoktur.

App ID yanlışsa ne olur?

  • Bilinmeyen UUID — edge fonksiyonu, yalnızca localhost ve 127.0.0.1'e izin veren NO_APP_CONFIG'e geri döner. Cüzdan, üretim origin'inizde tarayıcı konsolunda bir CSP ihlali ile yüklenemez.
  • Yanlış domain'ler — yukarıdaki ile aynı: tarayıcı, herhangi bir cüzdan kodu çalıştırılmadan önce iframe'i engeller.
  • Eksik UUID — yukarıdaki "bilinmeyen UUID" ile aynı. Kasıtlıdır; böylece appId'yi düşürmek, allow-list'inizi yanlışlıkla genişletemez.