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:
- 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. - Feature flag'ler. Tek tek dApp'ler, diğer entegrasyonları etkilemeden özelliklere (ek zincirler, ekstra varlıklar vb.) dahil olabilir veya bunlardan çıkabilir.
- Analitik kapsamı. Depolama, analitik ve partner başına durum
appIdile 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.
Bir UUID v4 oluşturun (örn.
uuidgenveyacrypto.randomUUID()).dApp'iniz için bir giriş ekleyerek
apps/web/shared/partners.tsdosyasına bir pull request açın:tsconst PARTNERS: Record<string, AppConfig> = { // ... existing entries '<your-uuid>': { domains: ['your-app.com', '*.your-app.com'], assets: { additionalEnabled: [] }, }, }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:
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
localhostve127.0.0.1'e izin verenNO_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.