从 Near Web Wallet 迁移
新应用请使用本集成指南中的 provider 方法。下方兼容方法可辅助迁移已有 NEAR Web Wallet 集成;它们使用安装 Provider SDK一节介绍的旧版 near-api-js API。
import * as nearAPI from "near-api-js";
import { OneKeyNearProvider } from "@onekeyfe/onekey-near-provider";
const config = {
networkId: 'mainnet',
nodeUrl: 'https://rpc.mainnet.near.org',
// networkId: 'testnet',
// nodeUrl: 'https://rpc.testnet.near.org',
headers: {},
keyStore: new nearAPI.keyStores.BrowserLocalStorageKeyStore(),
}
const near = new nearAPI.Near(config);
const connection = near.connection;
const provider = new OneKeyNearProvider({
connection,
networkId: 'mainnet', // `mainnet` or `testnet`
// reloading page after signIn or signTransaction that likes web wallet callback url working
enablePageReload: true,
});
provider.requestSignIn({
successUrl,
failureUrl,
// contractId: optionalContractId,
});
provider.getAccountId();
provider.isSignedIn();
provider.signOut();
provider.requestSignTransactions({
transactions: [],
callbackUrl,
// meta: optionalMetadata,
});
provider.account().signAndSendTransaction({
receiverId,
actions: [],
walletCallbackUrl,
// walletMeta: optionalMetadata,
});
旧版兼容方法的测试覆盖有限。优先使用集成指南中的 provider 方法,并在迁移时验证原有回调和重定向行为。
最后更新于