@magic-ext/polkadot

magic polkadot extension

Usage no npm install needed!

<script type="module">
  import magicExtPolkadot from 'https://cdn.skypack.dev/@magic-ext/polkadot';
</script>

README

Magic Extension Polkadot Blockchain

Installation

npm i magic-sdk @magic-ext/polkadot

Setup

Setup PolkadotExtension with magic-sdk


import { Magic } from 'magic-sdk';
import { PolkadotExtension } from '@magic-ext/polkadot';

const magic = new Magic('YOUR_API_KEY', {
    extensions: [
        new PolkadotExtension({
            rpcUrl: 'polkadot rpc url'
        })
    ]
});

// or

const magic = new Magic('YOUR_API_KEY', {
    extensions: {
        polkadot: new PolkadotExtension({
            rpcUrl: 'polkadot rpc url'
        })
    }
});

Magic SDK

See the developer documentation to learn how you can master the Magic SDK in a matter of minutes.

Usage

Get account

Using getAccount function to get Polkadot public address for current user.

const publicAddress = await magic.polkadot.getAccount();
console.log('icon public address', publicAddress);

Send Transaction

Send polkadot native currency

      const handlerSendTransaction = async () => {

          const tx = await magic.polkadot.sendTransaction(
              '5H3pELHbg9skXE2HfLqP23UPgrgu2Juj55CH6sdDGWc2HKNs',
              1000000000000000,
          );

          console.log('transaction hash', tx)
      };

Call contract function as transaction

    const handlerContractCall = async () => {

          const api = await ApiPromise.create({ provider: new WsProvider('ws://127.0.0.1:9944/') });
          await api.isReady;
          const abi = new Abi(api.registry, contractABI);

          const data = abi.messages.flip();

          const tx = await magic.polkadot.contractCall('5C52CfgkwANdFuN3VgPSprQwNWKfkLWMHJbMRzp12h4YarCa', 0, 1000000, data);

          console.log('transaction hash', tx)
      }