Как расширить программу Solana spl_token, чтобы добавить больше функциональности?

Программа SPL_Token содержит множество функций, но я хочу добавить больше дополнительных проверок в соответствии с требованиями заказчика. Итак, я хочу создать пользовательскую программу spl_token, расширив исходный код spl_token.

Например, допустим, я хочу ограничить максимальное количество токенов, которые можно перевести на любую учетную запись за одну транзакцию.

Также я хочу, чтобы program_id моей пользовательской программы использовался в заданном_program_id(как показано в проводнике solana) любой создаваемой учетной записи.

Любая помощь приветствуется.

1 ответ

Если вы хотите, чтобы использовался ваш собственный идентификатор программы, вам просто нужно разветвить код токена SPL, чтобы добавить свои изменения.

Код базовой программы токена находится по адресу https://github.com/solana-labs/solana-program-library/tree/master/token/program, и если вы вносите небольшие изменения, проще всего будет изменить и развернуть это.

Если изменения более существенны, вы можете добавить новое расширение в программу токена-2022, которую можно найти по адресу https://github.com/solana-labs/solana-program-library/tree/master/token/program-2022 .

Чтобы добавить новое расширение, вам необходимо добавить состояние и инструкции, необходимые для расширения, а также указать, существует ли оно на монетном дворе или в учетной записи. Вот пример запроса на добавление расширения, позволяющего закрывать монетные дворы: https://github.com/solana-labs/solana-program-library/pull/2754 .

Обратите внимание, что кошельки и децентрализованные приложения не будут совместимы с другим идентификатором программы, и пройдет некоторое время, прежде чем они смогут принимать более одного идентификатора программы токена.

Другие вопросы по тегам