@@ -3,8 +3,78 @@ title: Stack
33sidebar_position : 1
44---
55
6+ import Tabs from '@theme/Tabs ';
7+ import TabItem from '@theme/TabItem ';
8+
9+ Stack is facade that provides provides IPFS and Relay communications for components such as Storage, PubSub and etc...
10+
11+ ## Create
12+
13+ <Tabs >
14+ <TabItem value =" public-relay " label =" Public Relay " >
15+
16+ ``` javascript
17+ import { Stack } from ' @dstack-js/lib' ;
18+
19+ const stack = await Stack .create ({
20+ namespace: ' namespace' ,
21+ });
22+
23+ console .log (' My Peer ID is:' , stack .id );
24+ ```
25+
26+ </TabItem >
27+ <TabItem value =" custom-relay " label =" Custom Relay " >
28+
29+ ``` javascript
30+ import { Stack } from ' @dstack-js/lib' ;
31+
32+ const stack = await Stack .create ({
33+ namespace: ' namespace' ,
34+ relay: ' https://relay.dstack.dev:443/graphql' ,
35+ });
36+
37+ console .log (' My Peer ID is:' , stack .id );
38+ ```
39+
40+ </TabItem >
41+
42+ <TabItem value =" non-browser " label =" Non-browser environment " >
43+
44+ ``` javascript
45+ import { Stack } from ' @dstack-js/lib' ;
46+ import wrtc from ' @dstack-js/wrtc' ;
47+
48+ const stack = await Stack .create ({
49+ namespace: ' namespace' ,
50+ wrtc,
51+ });
52+
53+ console .log (' My Peer ID is:' , stack .id );
54+ ```
55+
56+ </TabItem >
57+ </Tabs >
58+
659## Identity
760
61+ ### Providing private key
62+
63+ ``` javascript
64+ import { Stack } from ' @dstack-js/lib' ;
65+
66+ const privateKey = ' ...' ;
67+
68+ const stack = await Stack .create ({
69+ namespace: ' namespace' ,
70+ privateKey,
71+ });
72+
73+ console .log (' My Peer ID is:' , stack .id );
74+ ```
75+
76+ You can generate a private key using [ ` peer-id ` ] ( https://www.npmjs.com/package/peer-id ) module.
77+
878### Peer object
979
1080``` javascript
@@ -14,7 +84,7 @@ sidebar_position: 1
1484}
1585```
1686
17- ### Get my information
87+ ### Get my identity
1888
1989``` javascript
2090const peer = await stack .id ();
@@ -85,12 +155,3 @@ console.log(ms, 'ms');
85155``` javascript
86156await stack .stop ();
87157```
88-
89- Will terminate pubsub events and store replication
90-
91- Also you can stop IPFS:
92-
93- ``` javascript
94- await stack .stop ();
95- await stack .ipfs .stop ();
96- ```
0 commit comments