Poly Smart Chain中文
  • 介紹
    • 信息
    • 共識
    • 網絡
  • 區塊鏈基礎
    • 區塊鏈的類型
    • 共識機制
    • Solidity
    • 交易
    • GAS
    • 賬戶
  • 經濟學
  • Node
    • 節點 RPC
    • 部署
    • 私有鏈
  • 錢包
    • 連接 Metamask
    • 連接 Imtoken
    • 連接 TokenPocket
    • Metamask
    • Portis
    • Torus
  • 跨鏈橋
    • MetaMask:BSC to PSC(跨鏈)
    • MetaMask:Polygon to PSC(Cross-Chain)
    • WDCSpace:WDC to PSC(Cross-Chain)
    • Imtoken:BSC to PSC(Cross-Chain)
    • TokenPocket:BSC to PSC(Cross-Chain)
    • 跨鏈通用問題
    • 跨鏈數量(每日)
  • 開發者
    • Contract
    • PRC20
    • PRC721
    • RemixIDE
    • Truffle
    • Hardhat
    • Web3.js
  • Explorer
  • DApp
    • Swanswap
      • 如何在 Swanswap 購買 PSC 代幣
      • 如何在 Swanswap 中添加 PSC-USDT 流動性
    • NFT Auction
      • 如何Claim PolyJetClub
      • 在MetaMask錢包中查看PolyJetClub
    • 礦池
      • 如何將 LP Token 質押到礦池
    • Social
      • 註冊Social(V0.1)
    • 如何遷移到V2礦池
      • 如何遷移到V2礦池(MetaMask)
      • 如何遷移到V2礦池(TP錢包)
  • 資源
  • 常問問題
Powered by GitBook
On this page
  1. 錢包

Portis

PreviousMetamaskNextTorus

Last updated 3 years ago

Portis 是一個基於 Web 的錢包,其構建時牢記用戶入門的簡便性。 它帶有一個集成到 DApp 中的 javascript SDK,並為用戶創建了本地無錢包體驗。 此外,它還負責設置錢包、交易和汽油費。 像 Metamask 一樣,它是非託管的——用戶控制他們的密鑰,Portis 只是安全地存儲它們。 但是,與 Metamask 不同的是,它被集成到應用程序而不是瀏覽器中。 用戶的密鑰與他們的登錄 ID 和密碼相關聯。

類型:非託管/高清

私鑰存儲:加密並存儲在 portis 的服務器上

與以太坊分類帳的通信:開發人員定義

私鑰編碼:助記符

1.設置Web3

在你的 DApp 中安裝以下內容:

npm install --save @portis/web3

並向 Portis 註冊您的 DApp 以獲得 Dapp ID:

導入 portis 和 web3 對象:

import Portis from '@portis/web3';
import Web3 from 'web3';

Portis 構造函數將第一個參數作為 DApp ID(我們從上一步獲得),第二個參數作為您要連接的網絡。 這可以是字符串或對象。

const portis = new Portis('YOUR_DAPP_ID', 'maticTestnet');
const web3 = new Web3(portis.provider);

2. 設置賬戶

如果 web3 的安裝和實例化成功,以下應該成功返回連接的帳戶:

this.web3.eth.getAccounts()
.then((accounts) => {
  this.account = accounts[0];
})

3. 實例化合約

如上所述,合約的實例化將保持不變:

const myContractInstance = new this.web3.eth.Contract(myContractAbi, myContractAddress)

4. 調用函數

調用函數將保持與上面討論的相同:#### Calling call() Functions

this.myContractInstance.methods.myMethod(myParams)
.call()
.then (
  // do stuff with returned values
)

調用 send() 函數

// this.myContractInstance.methods.myMethod(myParams)
.send({
  from: this.account,gasPrice: 0
})
.then ((receipt) => {
  // returns a transaction receipt
})
Portis Dashboard