Portis

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

類型:非託管/高清

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

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

私鑰編碼:助記符

1.設置Web3

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

npm install --save @portis/web3

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

導入 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
})

Last updated