Skip to content

Commit 8c8121d

Browse files
committed
update documents
1 parent aa31df1 commit 8c8121d

File tree

1 file changed

+87
-6
lines changed

1 file changed

+87
-6
lines changed

wasm/light-client-js/README.md

Lines changed: 87 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,9 @@ import { LightClient, randomSecretKey } from "light-client-js";
1414

1515
const client = new LightClient();
1616

17-
const config = `
18-
chain = "dev"
17+
// Default config for testnet
18+
const testnetConfig = `
19+
chain = "testnet"
1920
2021
[store]
2122
path = "data/store"
@@ -30,13 +31,23 @@ listen_addresses = ["/ip4/0.0.0.0/tcp/8110"]
3031
# Node connects to nodes listed here to discovery other peers when there's no local stored peers.
3132
# When chain.spec is changed, this usually should also be changed to the bootnodes in the new chain.
3233
bootnodes = [
33-
"/ip4/18.167.71.41/tcp/8115/ws/p2p/QmZ3g4ikFdUijFyQdDsuxnvMwgC4uMU4Ux8siwPGPxLnRC",
34-
# "/ip4/18.167.71.41/tcp/8115/wss/p2p/QmZ3g4ikFdUijFyQdDsuxnvMwgC4uMU4Ux8siwPGPxLnRC"
34+
"/dns4/dagon.ckb.guide/tcp/443/wss/p2p/QmX5D6aJiAQ5Fxn4BfVqSn6zrgyuQM1oXVC9yvmzLuHXnx",
35+
"/dns4/javelin.ckb.guide/tcp/443/wss/p2p/QmPcJY2gZLUm66szYA9QaG1P3rzwseWCMgbj6AyNCyW4G2",
36+
"/dns4/diadem.ckb.guide/tcp/443/wss/p2p/QmQMjFrNGaphzfHin3mbYybbJcFMDUihKAcknquYvm9J3W",
37+
"/dns4/bloodstone.ckb.guide/tcp/443/wss/p2p/QmQoTR39rBkpZVgLApDGDoFnJ2YDBS9hYeiib1Z6aoAdEf",
38+
"/dns4/crown.ckb.guide/tcp/443/wss/p2p/QmTt6HeNakL8Fpmevrhdna7J4NzEMf9pLchf1CXtmtSrwb",
39+
"/dns4/mekansm.ckb.guide/tcp/443/wss/p2p/QmT6DFfm18wtbJz3y4aPNn3ac86N4d4p4xtfQRRPf73frC",
40+
"/dns4/circlet.ckb.guide/tcp/443/wss/p2p/Qmd41MaByDprkC5gP1XBKgamZ9DTLNk37zbPgwtiWCzRV6",
41+
"/dns4/vanguard.ckb.guide/tcp/443/wss/p2p/QmWVuW5KquiWDSqgMJRFW1xRtVqkYJrWz6S9NNk6fFn3wh",
42+
"/dns4/chainmail.ckb.guide/tcp/443/wss/p2p/QmfUTZxsse7rFJTJfoUv8bbStoDLETxst5nJEpJozNuAnH",
43+
"/dns4/gleipnir.ckb.guide/tcp/443/wss/p2p/QmSPkAyXqsWpRiS7HpHLTProVdhQWLKFHCXbRjaLpJj7ZL",
44+
"/dns4/parasma.ckb.guide/tcp/443/wss/p2p/QmSJTsMsMGBjzv1oBNwQU36VhQRxc2WQpFoRu1ZifYKrjZ",
45+
"/dns4/bottle.ckb.guide/tcp/443/wss/p2p/QmWcEhsMNRcfJit62EbKgzpgtAJZX1G3Ur4shXjcvLsYDb"
3546
]
3647
3748
3849
max_peers = 125
39-
max_outbound_peers = 2
50+
max_outbound_peers = 4
4051
# 2 minutes
4152
ping_interval_secs = 120
4253
# 20 minutes
@@ -51,11 +62,81 @@ discovery_local_address = false
5162
bootnode_mode = false
5263
5364
`
65+
// Default config for mainnet
66+
const mainnetConfig = `
67+
chain = "mainnet"
68+
69+
[store]
70+
path = "data/store"
71+
72+
[network]
73+
path = "data/network"
74+
75+
listen_addresses = ["/ip4/0.0.0.0/tcp/8110"]
76+
### Specify the public and routable network addresses
77+
# public_addresses = []
78+
79+
# Node connects to nodes listed here to discovery other peers when there's no local stored peers.
80+
# When chain.spec is changed, this usually should also be changed to the bootnodes in the new chain.
81+
bootnodes = [
82+
"/dns4/reaver.ckb.guide/tcp/443/wss/p2p/QmaZMemLXSsxKUrYNucjEbPxVX3rBKsGhWW2muWtWxUWyh",
83+
"/dns4/cheese.ckb.guide/tcp/443/wss/p2p/QmV26bmuBXyiBytbYvr2aTnUg27mgtpBmae6EA8U49otbJ",
84+
"/dns4/maelstrom.ckb.guide/tcp/443/wss/p2p/QmcodzCafKsP9bSa2QPsNoK6UFL3h8ucewvmRV9Re5WfQw",
85+
"/dns4/satanic.ckb.guide/tcp/443/wss/p2p/QmcEK1wUR287qSYdw8eHNWeQrFitQsCaZHHTM9wgvakxnS",
86+
"/dns4/sange.ckb.guide/tcp/443/wss/p2p/QmNRAvtC6L85hwp6vWnqaKonJw3dz1q39B4nXVQErzC4Hx",
87+
"/dns4/cloak.ckb.guide/tcp/443/wss/p2p/QmagxSv7GNwKXQE7mi1iDjFHghjUpbqjBgqSot7PmMJqHA",
88+
"/dns4/lavabuster.ckb.guide/tcp/443/wss/p2p/QmZgcFN3c7zpyzzxn9KNGsQpEyf4D7eCgrmNCnAeCWicw3",
89+
"/dns4/claymore.ckb.guide/tcp/443/wss/p2p/QmSRj57aa9sR2AiTvMyrEea8n1sEM1cDTrfb2VHVJxnGuu",
90+
"/dns4/eaglesong.ckb.guide/tcp/443/wss/p2p/QmbT7QimcrcD5k2znoJiWpxoESxang6z1Gy9wof1rT1LKR",
91+
"/dns4/phylactery.ckb.guide/tcp/443/wss/p2p/QmP48t4MSACDyJUcoRgDAaW42MMv2MZnrTaUGCpVeGvKms",
92+
"/dns4/hyperstone.ckb.guide/tcp/443/wss/p2p/QmRHqhSGMGm5FtnkW8D6T83X7YwaiMAZXCXJJaKzQEo3rb",
93+
"/dns4/kaya.ckb.guide/tcp/443/wss/p2p/QmeSRNTxo9KqCBQSf7yQErn9Jz2gfnP6wHACvg6qyiEM7q",
94+
"/dns4/buckler.ckb.guide/tcp/443/wss/p2p/QmYCRVonLfP18LSoz2WCHaXDorUYxuUMfhtcXK1TuZ1iwF",
95+
"/dns4/bracer.ckb.guide/tcp/443/wss/p2p/QmejEJEbDcGGMp4D6WtftMMVLkR1ZuBfMgyLFDMJymkDt6",
96+
"/dns4/mjollnir.ckb.guide/tcp/443/wss/p2p/QmVi7reKhqVnoBYzW2nJYnrujVeckrZXhwuYbX7P2whPJg",
97+
"/dns4/crystalys.ckb.guide/tcp/443/wss/p2p/QmXJg4iKbQzMpLhX75RyDn89Mv7N2H8vLePBR7kgZf6hYk",
98+
"/dns4/radiance.ckb.guide/tcp/443/wss/p2p/QmQoWrmuFauCn3zZ2mYYKAciG9opTbjzC2wVEfWveZNDt8",
99+
"/dns4/necronomicon.ckb.guide/tcp/443/wss/p2p/QmejugEABNzAofqRhci7HAipLFvoyYKRacd272jNtnQBTE",
100+
"/dns4/khanda.ckb.guide/tcp/443/wss/p2p/Qmf4t1SzFhRWuGcFcgs7r4pXvkACsz3FcaBMcmMKQMMpn7",
101+
"/dns4/yasha.ckb.guide/tcp/443/wss/p2p/QmQidJaxciY3NT2PjsaCR4Gz8vB8kFn3Avwz96u6b3jGc1",
102+
"/dns4/cornucopia.ckb.guide/tcp/443/wss/p2p/QmexvXVDiRt2FBGptgK4gBJusWyyTEEaHeuCAa35EPNkZS",
103+
"/dns4/harpoon.ckb.guide/tcp/443/wss/p2p/QmVeeCh81GTLGRwB7vRHXeTRdUHRYcfn6qKEfewhtiRJZC",
104+
"/dns4/nullifier.ckb.guide/tcp/443/wss/p2p/QmW3P1WYtuz9hitqctKnRZua2deHXhNePNjvtc9Qjnwp4q",
105+
"/dns4/platemail.ckb.guide/tcp/443/wss/p2p/QmNsGNQjYA6iP472bNnNE2GR31kCYBifhY1XcaUxRjZ1py",
106+
"/dns4/broadsword.ckb.guide/tcp/443/wss/p2p/QmShw2vtVt49wJagc1zGQXGS6LkQTcHxnEV3xs6y8MAmQN",
107+
"/dns4/desolator.ckb.guide/tcp/443/wss/p2p/QmeCzzVmSAU5LNYAeXhdJj8TCq335aJMqUxcvZXERBWdgS"
108+
]
109+
110+
111+
max_peers = 125
112+
max_outbound_peers = 4
113+
# 2 minutes
114+
ping_interval_secs = 120
115+
# 20 minutes
116+
ping_timeout_secs = 1200
117+
connect_outbound_interval_secs = 15
118+
# If set to true, try to register upnp
119+
upnp = false
120+
# If set to true, network service will add discovered local address to peer store, it's helpful for private net development
121+
discovery_local_address = false
122+
# If set to true, random cleanup when there are too many inbound nodes
123+
# Ensure that itself can continue to serve as a bootnode node
124+
bootnode_mode = false
125+
126+
`
127+
// Start a mainnet node
128+
await client.start({ type: "MainNet", config: mainnetConfig }, randomSecretKey(), "info");
129+
// Start a testnet node
130+
// await client.start({ type: "TestNet", config: testnetConfig }, randomSecretKey(), "info");
131+
54132

55-
await client.start({ type: "TestNet", config }, randomSecretKey(), "info");
56133
console.log(await client.getTipHeader())
57134
```
58135

136+
### About `max_outbound_peers`
137+
`max_outbound_peers` is set to 4 by default, since a light client node must connect at least `max_outbound_peers / 2` nodes to start sync, and if connected to too many nodes, synchorization may also be setopped (See https://github.com/tea2x/quantum-purse/issues/68)
138+
139+
59140
### A more complex example
60141

61142
https://github.com/Officeyutong/ckb-light-client-wasm-demo

0 commit comments

Comments
 (0)