-
Notifications
You must be signed in to change notification settings - Fork 2
/
list-cluster.js
35 lines (29 loc) · 1.3 KB
/
list-cluster.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
require('dotenv').config()
const { options, OnChainRegistry } = require('@phala/sdk')
const { ApiPromise, WsProvider } = require('@polkadot/api')
const argv = require('arg')({
'--ws': String,
})
async function main() {
const ws = argv['--ws'] || process.env.ENDPOINT
if (!ws) {
throw new Error('No ws endpoint specified')
}
const apiPromise = await ApiPromise.create(options({
provider: new WsProvider(ws),
noInitWarn: true
}))
const registry = await OnChainRegistry.create(apiPromise)
const clusters = await registry.getClusters()
for (const [clusterId, clusterInfo] of clusters) {
console.log('Cluster', clusterId)
console.log('Owner Address:', clusterInfo.owner.toHex())
console.log('Permission:', clusterInfo.permission.isPublic ? 'Public' : clusterInfo.permission.asOnlyOwner.toJSON())
console.log('System Contract ID:', clusterInfo.systemContract.toHex())
console.log('Gas Price: ', clusterInfo.gasPrice.toNumber())
console.log('Deposit Per Item:', clusterInfo.depositPerItem.toNumber(), '(', clusterInfo.depositPerItem.toNumber() / 1e12, 'PHA )')
console.log('Deposit Per Byte:', clusterInfo.depositPerByte.toNumber(), '(', clusterInfo.depositPerByte.toNumber() / 1e12, 'PHA )')
console.log('')
}
}
main().catch(console.error).finally(() => process.exit())