ProviderWeb developed by Waves.Exchange implements a Signature Provider for Signer protocol library. Signer enables easy deploy dApps based on Waves blockchain. User's private key and SEED phrase are encrypted and stored in Waves.Exchange, so your web app does not have access to them.
For now, signing is implemented for all types of transactions except exchange transactions.
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'
Add library initialization to your app.
- For Testnet:
import Signer from '@waves/signer'; import Provider 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 Provider());
- For Mainnet:
import Signer from '@waves/signer'; import Provider from '@waves.exchange/provider-web'; const signer = new Signer(); signer.setProvider(new Provider());
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
new Provider(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://waves.exchange/signer | URL of the Provider instance. For debugging, you can launch the Provider instance on your server. |
logs | false | Logging level. If true , all events are logged |
| ||
Usage: | ||
|
var provider = new Provider(
'http://localhost:8081/iframe-entry',
true
);
Getting Started with Waves Signer and ProviderWeb: https://medium.com/@izhur27/893017c9b7ae?. Collapse