Skip to content

Commit 232c02b

Browse files
Chris Chinchillarflechtner
andauthored
Update workshop to v1 of SDK (#330)
* Draft Signed-off-by: Chris Chinchilla <[email protected]> * Draft Signed-off-by: Chris Chinchilla <[email protected]> * Draft Signed-off-by: Chris Chinchilla <[email protected]> * Draft Signed-off-by: Chris Chinchilla <[email protected]> * Update sdk/02_tutorial/01_welcome.md Co-authored-by: Raphael Flechtner <[email protected]> * Update sdk/02_tutorial/03_overview.md * Update sdk/02_tutorial/06_holder/02_create_presentation.md Co-authored-by: Raphael Flechtner <[email protected]> * Update sdk/02_tutorial/07_verification.md Co-authored-by: Raphael Flechtner <[email protected]> * Update sdk/02_tutorial/05_issuer/index.md Co-authored-by: Raphael Flechtner <[email protected]> * Update sdk/02_tutorial/05_issuer/03_issue_credential.md * Update sdk/02_tutorial/06_holder/02_create_presentation.md Co-authored-by: Raphael Flechtner <[email protected]> * Update sdk/02_tutorial/06_holder/02_create_presentation.md Co-authored-by: Raphael Flechtner <[email protected]> * Changes from review Signed-off-by: Chris Chinchilla <[email protected]> * Changes from review Signed-off-by: Chris Chinchilla <[email protected]> * Update sdk/02_tutorial/05_issuer/03_issue_credential.md * Update sdk/02_tutorial/06_holder/02_create_presentation.md Co-authored-by: Raphael Flechtner <[email protected]> * Update sdk/02_tutorial/07_verification.md Co-authored-by: Raphael Flechtner <[email protected]> * Update sdk/02_tutorial/07_verification.md --------- Signed-off-by: Chris Chinchilla <[email protected]> Co-authored-by: Raphael Flechtner <[email protected]>
1 parent e22a09c commit 232c02b

38 files changed

+1756
-2166
lines changed

code_examples/sdk_examples/package.json

Lines changed: 27 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -13,27 +13,36 @@
1313
"test": "ts-node src/test.ts"
1414
},
1515
"dependencies": {
16-
"@kiltprotocol/sdk-js": "0.35.0",
17-
"axios": "^1.5.1",
18-
"commander": "^11.1.0",
19-
"dotenv": "^16.3.1",
20-
"web3": "^4.1.2"
16+
"@kiltprotocol/sdk-js": "1.0.0",
17+
"@kiltprotocol/chain-helpers": "^0.100.0",
18+
"@kiltprotocol/credentials": "^0.100.0",
19+
"@kiltprotocol/utils":"^0.100.0",
20+
"@kiltprotocol/types":"^0.100.0",
21+
"axios": "^1.7.5",
22+
"commander": "^12.1.0",
23+
"dotenv": "^16.4.5",
24+
"web3": "^4.12.1",
25+
"ts-node": "^10.9.2",
26+
"typescript": "^5.5.4"
2127
},
2228
"devDependencies": {
23-
"@polkadot/types": "^10.4.0",
24-
"@types/node": "^20.8.6",
25-
"@types/node-fetch": "^2.6.6",
26-
"@typescript-eslint/eslint-plugin": "^5.36.0",
27-
"@typescript-eslint/parser": "^6.8.0",
28-
"eslint": "^8.51.0",
29-
"eslint-config-prettier": "^9.0.0",
29+
"@polkadot/types": "^12.4.2",
30+
"@polkadot/util": "^13.0.2",
31+
"@polkadot/util-crypto": "^13.1.1",
32+
"@polkadot/keyring": "^13.0.2",
33+
"@types/node": "^22.5.1",
34+
"@types/node-fetch": "^2.6.11",
35+
"@typescript-eslint/eslint-plugin": "^8.3.0",
36+
"@typescript-eslint/parser": "^8.3.0",
37+
"eslint": "^9.9.1",
38+
"eslint-config-prettier": "^9.1.0",
3039
"eslint-formatter-codeframe": "^7.32.1",
31-
"eslint-plugin-import": "^2.28.1",
40+
"eslint-plugin-import": "^2.29.1",
3241
"eslint-plugin-node": "^11.1.0",
33-
"eslint-plugin-prettier": "^5.0.1",
34-
"node-fetch": "^2.6.7",
35-
"prettier": "^3.0.3",
36-
"ts-node": "^10.9.1",
37-
"typescript": "^5.2.2"
42+
"eslint-plugin-prettier": "^5.2.1",
43+
"node-fetch": "^3.3.2",
44+
"prettier": "^3.3.3",
45+
"ts-node": "^10.9.2",
46+
"typescript": "^5.5.4"
3847
}
3948
}
Lines changed: 18 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -1,68 +1,27 @@
11
import * as Kilt from '@kiltprotocol/sdk-js'
2+
import { BalanceUtils, Blockchain } from '@kiltprotocol/chain-helpers'
3+
import type {
4+
KiltAddress,
5+
MultibaseKeyPair,
6+
TransactionSigner
7+
} from '@kiltprotocol/types'
8+
import { Multikey } from '@kiltprotocol/utils'
29
import { BN } from '@polkadot/util'
3-
import { setTimeout } from 'timers/promises'
4-
5-
async function failproofSubmit(
6-
tx: Kilt.SubmittableExtrinsic,
7-
submitter: Kilt.KeyringPair
8-
) {
9-
try {
10-
await Kilt.Blockchain.signAndSubmitTx(tx, submitter)
11-
} catch {
12-
// Try a second time after a small delay and fetching the right nonce.
13-
const waitingTime = 12_000 // 12 seconds
14-
console.log(
15-
`First submission failed for workshop. Waiting ${waitingTime} ms before retrying.`
16-
)
17-
await setTimeout(waitingTime)
18-
console.log('Retrying...')
19-
// nonce: -1 tells the client to fetch the latest nonce by also checking the tx pool.
20-
const resignedBatchTx = await tx.signAsync(submitter, { nonce: -1 })
21-
await Kilt.Blockchain.submitSignedTx(resignedBatchTx)
22-
}
23-
}
2410

11+
// TODO: Look into tidier way with PD Keyring…
2512
export async function getFunds(
26-
faucetAccount: Kilt.KeyringPair,
27-
recipient: Kilt.KiltAddress,
13+
faucetAccount: MultibaseKeyPair,
14+
recipient: MultibaseKeyPair,
2815
kiltAmount: number
2916
) {
30-
const api = Kilt.ConfigService.get('api')
31-
const tx = api.tx.balances.transfer(
32-
recipient,
33-
Kilt.BalanceUtils.convertToTxUnit(new BN(kiltAmount), 0)
34-
)
35-
await failproofSubmit(tx, faucetAccount)
36-
console.log('Successfully transferred tokens')
37-
}
17+
const api = Kilt.ConfigService.get("api")
3818

39-
export async function endowAccounts(
40-
faucetAccount: Kilt.KeyringPair,
41-
destinationAccounts: Kilt.KiltAddress[],
42-
amount: BN
43-
): Promise<void> {
44-
const api = Kilt.ConfigService.get('api')
45-
46-
const transferBatch = destinationAccounts.map((acc) =>
47-
api.tx.balances.transfer(
48-
acc,
49-
Kilt.BalanceUtils.convertToTxUnit(
50-
Kilt.BalanceUtils.KILT_COIN.mul(amount),
51-
0
52-
)
53-
)
54-
)
55-
56-
console.log(
57-
`Endowing test accounts "${destinationAccounts}"
58-
from faucet "${faucetAccount.address}"
59-
with ${Kilt.BalanceUtils.formatKiltBalance(amount, {
60-
decimals: 0
61-
})} each...`
19+
const tx = api.tx.balances.transferAllowDeath(
20+
Multikey.decodeMultibaseKeypair(recipient).publicKey,
21+
BalanceUtils.convertToTxUnit(new BN(kiltAmount), 0)
6222
)
63-
const batchTx = api.tx.utility.batchAll(transferBatch)
64-
65-
await failproofSubmit(batchTx, faucetAccount)
66-
67-
console.log('Successfully transferred tokens')
23+
const [faucetSigner] = await Kilt.getSignersForKeypair<KiltAddress>({
24+
keypair: faucetAccount
25+
})
26+
await Blockchain.signAndSubmitTx(tx, <TransactionSigner>faucetSigner)
6827
}

code_examples/sdk_examples/src/workshop/holder/createClaim.ts

Lines changed: 0 additions & 12 deletions
This file was deleted.

code_examples/sdk_examples/src/workshop/holder/createPresentation.ts

Lines changed: 0 additions & 14 deletions
This file was deleted.

code_examples/sdk_examples/src/workshop/holder/generateAccount.ts

Lines changed: 0 additions & 17 deletions
This file was deleted.

code_examples/sdk_examples/src/workshop/holder/generateCredential.ts

Lines changed: 0 additions & 46 deletions
This file was deleted.

code_examples/sdk_examples/src/workshop/holder/generateKeypairs.ts

Lines changed: 0 additions & 15 deletions
This file was deleted.

code_examples/sdk_examples/src/workshop/holder/generateLightDid.ts

Lines changed: 0 additions & 33 deletions
This file was deleted.

0 commit comments

Comments
 (0)