Фантомный кошелек: отладка транзакций Solana
Мне нужно знать, какой список инструкций используется для транзакции, чтобы использовать его в моем приложении.
Например: Есть неизвестная торговая площадка NFT, я могу купить NFT через кнопку «Купить» в браузере. Я хочу купить эти nft программно, а не через браузер. Для этого мне нужно знать все инструкции и транзакции.
И вообще, можно ли покупать NFT, если на маркетплейсе не используются CandyMachine, MagicEden и т.п.?
1 ответ
Каждая торговая площадка/платформа имеет свой способ управления транзакциями.
Если вам интересно, как объединяются транзакции, и вы хотите начать понимать экосистему, у вас есть два варианта:
выберите репозиторий с открытым исходным кодом (по крайней мере, на Metaplex у вас есть аукционный дом / витрина / листинг с фиксированной ценой / конфетная машина). Некоторые из них также будут иметь шаблоны пользовательского интерфейса, которые вы можете настроить в соответствии со своими потребностями. Они поставляются с несколькими примерами транзакций, чтобы вы могли научиться создавать их с нуля.
Выберите проприетарный фреймворк (например, Magic Eden) и взаимодействуйте с ним через их API. В этом случае вы не будете сами создавать транзакции. В случае Magic Eden они создают инструкции по транзакциям на стороне сервера и обслуживают их через свой API инструкций. Вы не будете знать (и вам необязательно знать), как объединяются транзакции, поскольку они обработали абстракции за вас.
Некоторые примеры различных фреймворков NFT в пространстве solana:
Metaplex Auction Manager (с открытым исходным кодом) + пользовательский интерфейс Storefront. Полезно для изучения того, как создаются транзакции, но, вероятно, неразумно начинать строить долгосрочное решение поверх этого. Кроме того, пользовательский интерфейс Storefront местами довольно сложен, но пока вы просто фокусируетесь на транзакциях и на том, как они генерируются, это полезный педагогический инструмент.
Metaplex Auction House (с открытым исходным кодом) предназначен для замены фреймворка Auction Manager. Как и Auction Manager, Auction House имеет открытый исходный код, и есть несколько примеров того, как его использовать в репозиториях метаплекса.
Metaplex Fixed Price (с открытым исходным кодом) — это еще один листинговый фреймворк с собственным набором контрактов. Опять же, репозитории доступны на github metaplex.
Magic Eden (проприетарный) предоставляет свои транзакции через API, который дает вам сериализованную транзакцию. Вы можете использовать транзакции, созданные их API, в своем приложении, но, поскольку ME не является открытым исходным кодом, вы не сможете генерировать транзакции с нуля.
Выше приведены только примеры. Тем не менее, их всех объединяет то, что они используют стандарт Metaplex для выражения своих метаданных монетного двора. Способ выражения владения через TokenAccounts также является стандартным для всех, а это означает, что пока вы держите NFts в своем кошельке, вы сможете указать их в любом из вышеперечисленных.
В дополнение к вышесказанному, Metaplex discord также является полезным источником информации с дружественным сообществом, но, пожалуйста, сначала проверьте растущую базу знаний SO.