@waves.exchange/provider-web
v1.4.0
Published
ProviderWeb for Signer
Downloads
1,848
Keywords
Readme
ProviderWeb
Overview
ProviderWeb developed by Waves.Exchange implements a Signature Provider for Signer protocol library. Signer enables easy deploy dApps based on Waves blockchain. Users' encrypted private keys and SEED phrase are stored in wx.network domain of the local browser storage. WX.Network and other apps do not have access to the local data as they are stored encrypted.
For now, signing is implemented for all types of transactions except exchange transactions.
Getting Started
1. Library installation
To install Signer and ProviderWeb libraries use
npm i @waves/signer @waves.exchange/provider-web
For Windows, use the following format:
npm i @waves/signer '@waves.exchange/provider-web'
2. Library initialization
Add library initialization to your app.
- For Testnet:
import Signer from '@waves/signer'; import { ProviderWeb } from '@waves.exchange/provider-web'; const signer = new Signer({ // Specify URL of the node on Testnet NODE_URL: 'https://nodes-testnet.wavesnodes.com' }); signer.setProvider(new ProviderWeb('https://testnet.wx.network/signer'));
- For Mainnet:
import Signer from '@waves/signer'; import { ProviderWeb } from '@waves.exchange/provider-web'; const signer = new Signer(); signer.setProvider(new ProviderWeb());
3. Basic example
Now your application is ready to work with Waves Platform. Let's test it by implementing basic functionality. For example, we could try to authenticate user, get his/her balances and transfer funds.
const user = await signer.login();
const balances = await signer.getBalance();
const [broadcastedTransfer] = await signer
.transfer({amount: 100000000, recipient: 'alias:T:merry'}) // Transfer 1 WAVES to alias merry
.broadcast(); // Promise will resolved after user sign and node response
const [signedTransfer] = await signer
.transfer({amount: 100000000, recipient: 'alias:T:merry'}) // Transfer 1 WAVES to alias merry
.sign(); // Promise will resolved after user sign
Constructor
new ProviderWeb(clientOrigin: string, logs: boolean);
Creates an object that features user authentication and transaction signing.
You can use optional parameters for debugging.
| Parameter | Default value | Description |
| :--- | :--- | :--- |
| clientOrigin | https://wx.network/signer | URL of the ProviderWeb instance. For debugging, you can launch the ProviderWeb instance on your server. |
| logs | false | Logging level. If true
, all events are logged |
Usage:
var provider = new ProviderWeb(
'http://localhost:8081/iframe-entry',
true
);
More examples
Getting Started with Waves Signer and ProviderWeb: https://medium.com/@izhur27/893017c9b7ae?. Collapse