Как интегрировать аутентификацию Magic с флаттером и сделать Solana нашим блокчейном?

Я пытался создать флаттер-приложение, в котором я мог бы выполнить аутентификацию с помощью Magic, а затем использовать его с Solana в качестве своей цепочки блоков, однако проблема, с которой я столкнулся, заключается в том, что публичный адрес, который я получаю из флаттер-пакета magic-sdk, всегда является эфириумом. один, а не Солана один.

      final _magic = Magic.instance;
final metadata = await _magic.user.getMetadata();
final publicAddress = metadata.publicAddress;

Я даже создал собственный класс Magic и дал URL-адрес solana rpc во время создания экземпляра.

      Magic.instance = Magic.custom(
  MY_API_KEY,
  rpcUrl: "https://api.testnet.solana.com",
  chainId: 1,
);

До сих пор нет успеха. Поэтому любая помощь в этом будет высоко оценена!

1 ответ

Нужно указать расширение. Это в JS, но я считаю, что аналогичная логика применима к флаттеру:

      import { Magic } from 'magic-sdk';
import { SolanaExtension } from '@magic-ext/solana';

const magic = new Magic('YOUR_API_KEY', {
  extensions: [
    new SolanaExtension({
      rpcUrl: 'SOLANA_RPC_NODE_URL',
    }),
  ],
});

ПРИМЕЧАНИЕ. DidToken всегда будет соответствовать методу Ethereum, но теперь открытый ключ будет открытым ключом Solana.

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