@ blockshake/ dedely- connect (英语)
集成的 JavaScript SDK 外钱包 到网络应用程序。 详情请查看 外向手动。 。 。 .
这是连接 JavaScript SDK 的Pera 的叉子, 以便进行更详细的访问 皮拉连接 (原始内容存档于2018-09-29). on GitHub.
快速启动
我们从安装开始 @blockshake/defly-connect
npm install --save @blockshake/defly-connect
// Connect handler
deflyWallet
.connect()
.then((newAccounts) => {
// Setup the disconnect event listener
deflyWallet.connector?.on("disconnect", handleDisconnectWalletClick);
setAccountAddress(newAccounts[0]);
})
.reject((error) => {
// You MUST handle the reject because once the user closes the modal, deflyWallet.connect() promise will be rejected.
// For the async/await syntax you MUST use try/catch
if (error?.data?.type !== "CONNECT_MODAL_CLOSED") {
// log the necessary errors
}
});
如果您不希望用户的账户信息在用户关闭浏览器时被dApp丢失,使用用户钱包连接到dApp时,需要处理重联会话状态. 你可以用以下方式做到这一点.
// On the every page refresh
deflyWallet.reconnectSession().then((accounts) => {
// Setup the disconnect event listener
deflyWallet.connector?.on("disconnect", handleDisconnectWalletClick);
if (accounts.length) {
setAccountAddress(accounts[0]);
}
});
之后您可以以此方式签署交易
// Single Transaction
try {
const signedTxn = await deflyWallet.signTransaction([singleTxnGroups]);
} catch (error) {
console.log("Couldn't sign Opt-in txns", error);
}
选项
| 选项 | 默认 | 价值 | |
|---|---|---|---|
chainId | 4160 | 416001, (中文(简体) ), 416002, (中文(简体) ), 416003 , (中文(简体) ), 4160 | 选项 |
shouldShowSignTxnToast | true | boolean | 选项 |
chainId
确定您 dApp 使用的 Algorand 网络 .
主网: 416001 (中文(简体) )
测试网: 416002 (中文(简体) )
贝塔网: 416003 (中文(简体) )
所有网络:4160个
shouldShowSignTxnToast
它默认是启用的,但在某些情况下,你可能不需要土司消息(例如,你已经为用户签署了指南). 要禁用, 请使用 showSignTxn Toast 选项 :
方法
DeflyWalletConnect.connect(): Promise<string[]>
启动初始连接流程并返回账户地址的数组.
DeflyWalletConnect.reconnectSession(): Promise<string[]>
如果存在活动连接, 则重新连接到钱包并返回账户地址的数组 .
DeflyWalletConnect.disconnect(): Promise<void | undefined>
从钱包上断开连接,并重排相关的存储项目.
DeflyWalletConnect.platform: DeflyWalletPlatformType
返回活动会话的平台。 可能的对策: mobile | null
DeflyWalletConnect.isConnected: boolean
检查是否有活动会话,无论平台如何. 可能的对策: true | false
DeflyWalletConnect.signTransaction(txGroups: SignerTransaction[][], signerAddress?: string): Promise<Uint8Array[]>
启动签名进程并返回签名的交易 Uint8Array
自定义样式
您可以使用 .defly-wallet-connect-modal 类,使该模式不会与应用程序上的其他组件相冲突.
.defly-wallet-connect-modal {
// The default value of z-index is 10. You can lower and raise it as much as you want.
z-index: 11;
}
您在Defly钱包上的应用程序名
默认情况下,Defly钱包上的连接钱包抽屉会从应用程序名中获取 document.title。 。 。 .
在某些情况下,您可能想要定制它 。 您可以在 HTML 之间添加元标记来达到此目的 head 标签.
<meta name="name" content="My dApp" />
捐款
欢迎所有捐款! 欲了解详情,请阅读 捐款 先导.