ÖdemelerAbonelikler

Genel Bakış

Abonelik Delegasyonu Programı, geliştiricilerin kullanıcıların cüzdanlarından açık limitlerle gelecekteki token transferlerini yetkilendirmelerine olanak tanır. Yinelenen ödemeler, abonelikler, satıcı faturalandırması ve kullanıcının her transferi manuel olarak imzalamaması gereken diğer akışlar için tasarlanmıştır.

Amaç

Solana token hesapları, tokenleri taşımak için başka bir yetkiyi onaylayabilir, ancak her token hesabı aynı anda yalnızca bir onaylı yetkiye sahip olabilir. Bu, bir cüzdanın aynı token için aylık abonelik, sabit harcama limiti ve satıcı faturalandırma anlaşması gibi birden fazla harcama düzenlemesini güvenli bir şekilde desteklemesini zorlaştırır.

Bu program, her (user, token mint) çiftine program kontrollü bir Abonelik Yetkisi vererek bunu çözer. Kullanıcının token hesabı bu yetkiyi bir kez onaylar. Program daha sonra talep edilen her transferi, kimin fon çekebileceğini, ne kadar çekebileceğini ve yetkilendirmenin ne zaman sona ereceğini veya sıfırlanacağını tanımlayan ayrı bir kayıtla kontrol eder.

Abonelik Yetkisi fonları kendi başına taşıyamaz. Bir transfer, yalnızca kullanıcının etkin yetkilendirmelerinden biriyle eşleştiğinde başarılı olur.

Program Kimliği

De1egAFMkMWZSN5rYXRj9CAdheBamobVNubTsi9avR44

Program kimliği program/src/lib.rs içinde bildirilir. Yerel Surfpool iş akışları programı bu standart adreste yükler.

Delegasyon Modelleri

Program üç yetkilendirme modelini destekler:

ModelAmaç
Sabit delegasyonBaşka bir cüzdanın veya hizmetin isteğe bağlı olarak bir son kullanma tarihine kadar sabit bir toplam tutara kadar harcama yapmasına izin verin.
Yinelenen delegasyonBaşka bir cüzdanın veya hizmetin günlük, haftalık veya aylık gibi her dönemde sıfırlanan bir limite kadar harcama yapmasına izin verin.
Abonelik planıBir satıcının kullanıcıların kabul edebileceği faturalandırma koşullarını yayınlamasına izin verin, ardından onaylı toplayıcıların her faturalandırma döneminde abonelerden ücret almasına izin verin.

Desteklenen Token'lar

Program, hem SPL Token hem de Token-2022 ile oluşturulan token'ları destekler. Reddedilen tek Token-2022 uzantısı, yapılandırılmış bir TransferHook'dir (hook'un authority veya program_id olarak ayarlandığı durumlarda). Etkin olmayan bir TransferHook (her ikisi de ayarlanmamış, dolayısıyla kalıcı olarak değiştirilemez) ve diğer tüm uzantılara izin verilir.

Zincir Üstü Olaylar

Program, indeksleyicilerin ve uygulamaların önemli etkinlikleri takip edebilmesi için zincir üstü olaylar yayınlar. Bu olaylar, abonelik değişikliklerini ve sabit, yinelenen ve abonelik planı akışları aracılığıyla yapılan transferleri kapsar.

Sürüm Yönetimi

Program tarafından sahip olunan kayıtlar bir sürüm alanı içerir. Bu, programa mevcut kullanıcıları bozmadan zaman içinde hesap verilerini yükseltme yolu sağlar. Geçiş stratejisi şunları destekler:

  • Tembel yerinde güncelleme
  • Açık geçiş talimatı
  • İptal et ve yeniden oluştur yedek yöntemi

Katkıda Bulunanlar

Proje, solana-program/subscriptions deposuna katkıda bulunanlar tarafından sürdürülmektedir.

Denetim Durumu

Program, Cantina tarafından denetlenmiştir. Denetim durumu, temel commit, düzeltme doğrulamalı commit ve mevcut denetlenmemiş değişiklik, deponun audits/ dizininde izlenmektedir.

Demo Uygulaması

Programı kendiniz denemek istiyorsanız, bu bölümde ele alınan kavramların uçtan uca bir uygulamasını görmek için örnek uygulamayı buradan inceleyebilirsiniz.

Is this page helpful?

İçindekiler

Sayfayı Düzenle
© 2026 Solana Vakfı. Tüm hakları saklıdır.