Authereum
Search
K
Comment on page

SDK

Authereum SDK

Using Authereum as a Web3 provider is recommended, but you can also use the Authereum SDK directly.
Example of initializing Authereum SDK:
import Authereum from 'authereum
const authereum = new Authereum('kovan')

Options:

  • Networks
    • mainnet
    • kovan
    • rinkeby
    • ropsten
    • goerli
  • Configuration object and overrides
    • config
      • networkName - default: mainnet
      • apiKey - default: null use your API key
      • rpcUri - default: https://mainnet.rpc.authereum.com
      • webUri - default: https://authereum.com
      • xsUri - default: https://x.authereum.com
      • disableNotifications - default: false
      • blockedPopupRedirect - default true
      • forceRedirect - default false
  • Example:
    const authereum = new Authereum({
    networkName: 'kovan',
    disableNotifications: true
    })
    • Example:
      const authereum = new Authereum({
      rpcUri: 'https://kovan.infura.io'
      })
NOTE: Using private chains or custom local RPC urls are not supported at the moment. Read the FAQ for more info.

Events

  • ready
    • Emitted when SDK is ready to be used
  • iframeReady
    • Emitted when iframe connection is ready
  • openPopup
    Emitted when popup has opened, typically from a login request.
  • closePopup
    • Emitted when popup has closed, typically from logging in.
  • popupBlocked
    • Emitted when the login popup is blocked by the browser.
  • login
    • Emitted when user successfully logged in.
  • logout
    • Emitted when user logs out.
  • dappKeyExpired
    • Emitted when the dapp key expires.
  • error
    • Emitted when ever there's an error.

Methods

  • login()
    • Show login window to authenticate.
  • logout()
    • Logout from dapp.
  • showWidget(bool?)
    • Show Authereum widget on page.
  • hideWidget()
    • Hide Authereum widget from page.
  • getDappKey()
    • Get logged in user's dapp key info like public address
  • getTransactionReceipt(transactionHash)
    • Returns the transaction receipt with receipt.status being false if the top-level transaction failed or any of the internal transactions failed. The receipt status will be true if both the top-level transaction succeeded and all the internal transactions succeeded.
  • hasRecoveryEnabled()
    • Returns true if user has a recovery option set.
  • waitForTransactionReceipt(transactionHash)
    • Will wait for transaction to be mined to return transaction receipt.
  • signMessageWithSigningKey(message)
    • Sign a message using a persistent key dedicated for signing message. Check browser compatibility before using this method since it relies on cross-site storage.
  • getSigningKeyAddress()
    • Returns the public address of the signing key.
  • isAuthenticated()
    • Returns true if user is logged into dapp with Authereum.
  • isContractDeployed(accountAddress?)
    • Returns true if account address is a deployed contract.
  • addFunds(options?)
    • Render a fiat on-ramp modal to buy ETH or DAI.
    • The optional options object is for filtering the payment options available.
      • countryCode : 2-letter country code (ie 'US', 'GB', etc)
      • tokenSymbol : Token symbol (ie 'ETH', 'DAI' ,etc)
      • sourceAmount : Source fiat amount (ie 25, 100, etc)
      • Example:
        • authereum.addFunds({
          countryCode: 'US',
          tokenSymbol: 'DAI',
          sourceAmount: 25
          })
  • version()
    • Returns the SDK version.

Browserify example

Install authereum sdk:
npm i authereum
Install browserify globally:
npm i -g browserify
Initialize authereum sdk in index.js
const { Authereum } = require('authereum')
const authereum = new Authereum()
authereum.login()
Browserify index.js to create a bundled file which can be ran in the browser:
browserify index.js > bundle.js
Include the script tag with bundle.js in your html:
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script src="bundle.js"></script>
</body>
</html>

Examples

Logging in:

import Authereum from 'authereum
const authereum = new Authereum('kovan')
await authereum.login()

Getting account address:

import Authereum from 'authereum
const authereum = new Authereum('kovan')
const address = await authereum.getAccountAddress()

Events:

import Authereum from 'authereum
const authereum = new Authereum('kovan')
authereum
.on('ready', () => {
console.log('ready')
})
.on('error', err => {
console.error(err)
})