Aventus testnet testing » History » Version 4
Olivier Bitsch, 02/09/2022 03:47 PM
1 | 1 | Olivier Bitsch | # Aventus testnet testing |
---|---|---|---|
2 | |||
3 | ## AvN gateway details |
||
4 | |||
5 | 3 | Olivier Bitsch | > Official documentation : https://aventus-network-services.github.io/avn-gateway-docs/docs/intro |
6 | |||
7 | 1 | Olivier Bitsch | * Gateway URL: testnet.gateway.aventus.io |
8 | * Relayer Public key: 0x7075f2ec5abe24801ce8ccb2e7ffb13284df44c7baa9a583f8fd2f0498edb547 |
||
9 | * Relayer Address: 5EcAFwVcBo8s2D3ZSTnx2sq49wVDF3rc1yGJMx5nRp2GsK62 |
||
10 | 4 | Olivier Bitsch | * Testnet ETH : Rinkeby |
11 | 1 | Olivier Bitsch | |
12 | ## AvN account generation |
||
13 | |||
14 | There are multiple ways of generating accounts to interact with the AvN blockchain. This document will highlight 2 of them. |
||
15 | |||
16 | Polkadot libraries can be used to generate accounts that are compatible with the AvN. The following example code demonstrates this. |
||
17 | index.js |
||
18 | |||
19 | 2 | Olivier Bitsch | ~~~ js |
20 | 1 | Olivier Bitsch | const { Keyring } = require('@polkadot/keyring'); |
21 | const { u8aToHex } = require('@polkadot/util'); |
||
22 | const { cryptoWaitReady, mnemonicGenerate, mnemonicToMiniSecret } = require('@polkadot/util-crypto'); |
||
23 | |||
24 | async function generateAccount(accountCrypto) { |
||
25 | let crypto = accountCrypto || 'sr25519'; |
||
26 | |||
27 | if (!['ed25519', 'sr25519'].includes(crypto)) { |
||
28 | throw (`Invalid account crypto "${crypto}" specified.`); |
||
29 | } |
||
30 | |||
31 | await cryptoWaitReady(); |
||
32 | |||
33 | const keyring = new Keyring({ type: crypto, ss58Format: 42 }); |
||
34 | const mnemonic = mnemonicGenerate(); |
||
35 | const keyPair = keyring.createFromUri(mnemonic); |
||
36 | |||
37 | const key = { |
||
38 | 'Mnemonic': mnemonic, |
||
39 | 'PrivateKey': u8aToHex(mnemonicToMiniSecret(mnemonic)), |
||
40 | 'PublicKey': u8aToHex(keyPair.publicKey), |
||
41 | 'SS58Address': keyPair.address |
||
42 | }; |
||
43 | |||
44 | console.log(JSON.stringify(key, null, 2)); |
||
45 | } |
||
46 | |||
47 | (async () => { |
||
48 | await generateAccount() |
||
49 | })() |
||
50 | |||
51 | package.json |
||
52 | { |
||
53 | "dependencies": { |
||
54 | "@polkadot/api": "^3.6.4", |
||
55 | "@polkadot/keyring": "^5.0.1", |
||
56 | "@polkadot/util": "5.0.1", |
||
57 | "@polkadot/util-crypto": "5.0.1" |
||
58 | } |
||
59 | } |
||
60 | ~~~ |
||
61 | |||
62 | To test the script run npm install from the same location as your package.json file. You can then execute the script by running node index.js |
||
63 | Example output |
||
64 | 2 | Olivier Bitsch | ~~~ json |
65 | 1 | Olivier Bitsch | { |
66 | "Mnemonic": "barrel doctor exercise age pelican close hard tower group property front copper", |
||
67 | "PrivateKey": "0x2217fe2f9dacefa20026f3a9a049e2b774e06d0b2fd949e8cf728f224245bf0f", |
||
68 | "PublicKey": "0x28bb4853c402de336e7a4e2d0eadb07644f706c511e372839669792318ad7d7b", |
||
69 | "SS58Address": "5Cz7QZfu2Qxw3Cm5AdGGDgQWUuj5o3hbccQM4znneq73zmD2" |
||
70 | } |
||
71 | ~~~ |