squarelink
v1.1.4
Published
Squarelink's Web3 library
Downloads
934
Maintainers
Readme
Squarelink Web3 SDK
This is the Squarelink Web3 SDK which enables Squarelink enhancements to standard Web3 JSON RPC requests.
Check out the Squarelink Documentation for more information, quick-start guides, etc.
Installation
Node
$ npm install squarelink
CDN
<script src="https://squarelink.com/js/squarelink.min.js"></script>
Usage
First, register your application at dev.squarelink.com to obtain your CLIENT ID
import Web3 from 'web3'
import Squarelink from 'squarelink'
const sqlk = new Squarelink('<CLIENT ID>')
// Use callback or Promise
sqlk.getProvider(provider => {
const web3 = new Web3(provider)
// Use the web3 library as you would normally!
web3.currentProvider.enable()
})
Configuration
const sqlk = new Squarelink(clientId [, network][, opts])
Squarelink
-Object
- Initializes a Squarelink Web3 Provider for you
clientId
-String
- The Client ID provided to you when you register your DApp in the Squarelink Developer Consolenetwork
-String|Object
- Configures the RPC node you're connecting to. See a list of our available networks. Defaults to 'mainnet'.opts
-Object
- Pass additional options to the Squarelink SDK.
Examples
// connect to the Ropsten network
new Squarelink('<CLIENT ID>', 'ropsten')
// connect to a custom private network
new Squarelink('<CLIENT ID>', {
url: 'https://localhost:8545',
chainId: 420
})
Options (opts
)
scope
-Array
- Request additional scopes to use custom Squarelink functions.useSync
-Boolean
- See getProviderSync below for usage (default = false).
Available Scopes:
user
- Equivalent to all scopes belowuser:name
- Access to read user's nameuser:email
- Access to user's email addressuser:security
- Access to read user's security settings
Detecting Squarelink
web3.currentProvider.isSquarelink
Additional Functions
Squarelink.getName() - requires the
user
oruser:name
scopeSquarelink.getEmail() - requires the
user
oruser:email
scopeSquarelink.getSecuritySettings() - requires the
user
oruser:security
scope
Initializing Squarelink Synchronously
The getProvider
function fetches a list of our supported networks and their RPC endpoints from our API. This allows us to remotely switch RPC providers to ensure 100% uptime and remove faulty/compromised endpoints.
If you are unable to support callbacks/promises, you can use getProviderSync
which uses hard-coded RPC endpoints. NOTE: we cannot guarantee 100% uptime with this method.
const sqlk = new Squarelink('<CLIENT ID>', 'mainnet', { useSync: true })
const web3 = new Web(sqlk.getProviderSync())
Documentation
License
MIT