ΠληρωμέςΣυνδρομές

Επισκόπηση

Το Πρόγραμμα Εξουσιοδότησης Συνδρομών επιτρέπει στους προγραμματιστές να δώσουν τη δυνατότητα στους χρήστες να εγκρίνουν μελλοντικές μεταφορές token από τα πορτοφόλια τους με σαφή όρια. Είναι σχεδιασμένο για επαναλαμβανόμενες πληρωμές, συνδρομές, χρεώσεις εμπόρων και άλλες ροές όπου ο χρήστης δεν θα πρέπει να υπογράφει χειροκίνητα κάθε μεταφορά.

Σκοπός

Τα token account του Solana μπορούν να εγκρίνουν μια άλλη εξουσία για τη μετακίνηση token, αλλά κάθε token account μπορεί να έχει μόνο μία εγκεκριμένη εξουσία κάθε φορά. Αυτό καθιστά δύσκολο για ένα πορτοφόλι να υποστηρίζει με ασφάλεια πολλές ρυθμίσεις δαπανών για το ίδιο token, όπως μια μηνιαία συνδρομή, ένα καθορισμένο όριο δαπανών και μια συμφωνία χρέωσης με έμπορο.

Αυτό το πρόγραμμα επιλύει το πρόβλημα δίνοντας σε κάθε ζεύγος (user, token mint) μια Εξουσία Συνδρομής ελεγχόμενη από το πρόγραμμα. Το token account του χρήστη εγκρίνει αυτή την εξουσία μία φορά. Το πρόγραμμα στη συνέχεια ελέγχει κάθε αιτούμενη μεταφορά έναντι μιας ξεχωριστής εγγραφής που ορίζει ποιος μπορεί να αποσύρει κεφάλαια, πόσα μπορεί να αποσύρει και πότε λήγει ή επαναφέρεται η εξουσιοδότηση.

Η Εξουσία Συνδρομής δεν μπορεί από μόνη της να μετακινήσει κεφάλαια. Μια μεταφορά επιτυγχάνει μόνο όταν ταιριάζει με μία από τις ενεργές εξουσιοδοτήσεις του χρήστη.

Αναγνωριστικό Προγράμματος

De1egAFMkMWZSN5rYXRj9CAdheBamobVNubTsi9avR44

Το αναγνωριστικό του προγράμματος δηλώνεται στο program/src/lib.rs. Οι τοπικές ροές εργασίας Surfpool εγκαθιστούν το πρόγραμμα σε αυτή την κανονική διεύθυνση.

Μοντέλα Εξουσιοδότησης

Το πρόγραμμα υποστηρίζει τρία μοντέλα εξουσιοδότησης:

ΜοντέλοΣκοπός
Σταθερή εξουσιοδότησηΕπιτρέπει σε ένα άλλο πορτοφόλι ή υπηρεσία να δαπανήσει έως ένα καθορισμένο συνολικό ποσό, προαιρετικά μέχρι μια ημερομηνία λήξης.
Επαναλαμβανόμενη εξουσιοδότησηΕπιτρέπει σε ένα άλλο πορτοφόλι ή υπηρεσία να δαπανήσει έως ένα όριο που επαναφέρεται κάθε περίοδο, όπως ημερησίως, εβδομαδιαίως ή μηνιαίως.
Σχέδιο συνδρομήςΕπιτρέπει σε έναν έμπορο να δημοσιεύσει όρους χρέωσης που οι χρήστες μπορούν να αποδεχτούν, και στη συνέχεια επιτρέπει σε εγκεκριμένους εισπράκτορες να χρεώνουν τους συνδρομητές σε κάθε περίοδο χρέωσης.

Υποστηριζόμενα Tokens

Το πρόγραμμα υποστηρίζει tokens που δημιουργήθηκαν τόσο με SPL Token όσο και με Token-2022. Η μόνη επέκταση Token-2022 που απορρίπτει είναι ένα διαμορφωμένο TransferHook (όπου το hook authority ή program_id είναι ορισμένο). Ένα ανενεργό TransferHook (και τα δύο μη ορισμένα, και ως εκ τούτου μόνιμα αμετάβλητο) και όλες οι άλλες επεκτάσεις επιτρέπονται.

Συμβάντα On-Chain

Το πρόγραμμα εκπέμπει συμβάντα on-chain ώστε οι indexers και οι εφαρμογές να μπορούν να παρακολουθούν σημαντική δραστηριότητα. Αυτά τα συμβάντα καλύπτουν αλλαγές συνδρομών και μεταφορές που πραγματοποιούνται μέσω σταθερών, επαναλαμβανόμενων και πλάνων συνδρομής.

Διαχείριση Εκδόσεων

Οι εγγραφές που ανήκουν στο πρόγραμμα περιλαμβάνουν ένα πεδίο έκδοσης. Αυτό παρέχει στο πρόγραμμα μια διαδρομή για αναβάθμιση των δεδομένων λογαριασμού με την πάροδο του χρόνου χωρίς να διακόπτει τους υπάρχοντες χρήστες. Η στρατηγική μετάβασης υποστηρίζει:

  • Τεμπέλικη ενημέρωση επί τόπου
  • Ρητή εντολή migrate
  • Εναλλακτική ανάκληση και επαναδημιουργία

Συνεισφέροντες

Το έργο συντηρείται από συνεισφέροντες στο αποθετήριο solana-program/subscriptions.

Κατάσταση Ελέγχου

Το πρόγραμμα έχει ελεγχθεί από την Cantina. Η κατάσταση ελέγχου, το βασικό commit, το commit επαληθευμένης διόρθωσης και το τρέχον μη ελεγμένο delta παρακολουθούνται στον κατάλογο audits/ του αποθετηρίου.

Εφαρμογή Επίδειξης

Αν θέλετε να πειραματιστείτε με το πρόγραμμα μόνοι σας, μπορείτε να δείτε μια παραδειγματική εφαρμογή εδώ για να δείτε μια ολοκληρωμένη υλοποίηση των εννοιών που καλύπτονται σε αυτή την ενότητα.

Is this page helpful?

© 2026 Ίδρυμα Solana. Με επιφύλαξη παντός δικαιώματος.