You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: README.md
+31-34
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Dots Application: Distributed Signature Signing
2
2
3
-
###Installations
3
+
## Installations
4
4
5
5
Install Rust and GMP arithmetic library:
6
6
@@ -12,68 +12,49 @@ brew install rust
12
12
brew install gmp
13
13
```
14
14
15
-
# Setup Nodes
16
-
First configure the server nodes in `server_conf.yml`. Any number of servers can be added. The default configuration runs with three servers;
15
+
##Setup Nodes
16
+
Before you begin, make sure you set up the workspace following the instructions in [dots-server](https://github.com/dots-platform/dots-server). We assume you have a workspace folder named `dots` and you are in this workspace. First, install the repo in this workspace:
17
17
18
-
Ensure that the application configuration stanza is present in the server config. By default, the client uses the application name `signing`. If this repository is cloned as a sibling of the <https://github.com/dtrust-project/dots-server> repo, the following stanza should work:
Configure the server nodes in `dots-server/server_conf.yml`. Any number of servers can be added. The default configuration runs with three servers, so you should change the server config to set up three servers.
19
23
24
+
Next, add the `signing` application to the config. By default, the following stanza should work:
20
25
```yaml
21
26
apps:
22
27
signing:
23
28
path: ../signing-app/target/debug/rust_app
24
29
```
25
30
26
-
# Start Nodes
31
+
## Start Nodes
27
32
Run the following command in one terminal in the `dots-server` repo.
28
33
```bash
29
-
./start-n.sh 0 <N-1>
30
-
```
31
-
32
-
Where `<N-1>` is the number of servers minus one, or the index of the last server node.
33
-
34
-
MacOS has a [known issue](https://github.com/ZenGo-X/multi-party-ecdsa/issues/66) where `rustc` has trouble locating the `gmp` library. You may see something similar to the following error:
35
-
36
-
```jsx
37
-
ld: library not found for -lgmp
38
-
clang: error: linker command failed with exit code 1
34
+
./start-n.sh 0 2
39
35
```
40
36
41
-
If this happens, link the library manually by running:
The resulting signature will be generated as a file:
74
-
- In `dtrust/signing/files/node1/signature.json`, you will find the joint signature.
75
-
- In `dtrust/signing/files/node2/signature.json`, you will find the joint signature.
76
-
- In `dtrust/signing/files/node3/signature.json`, you will find nothing (not an active party).
77
58
78
59
The joint signature will look something like this:
79
60
```jsx
@@ -155,3 +136,19 @@ The joint signature will look something like this:
155
136
"recid":0
156
137
}
157
138
```
139
+
140
+
## Troubleshooting
141
+
MacOS has a [known issue](https://github.com/ZenGo-X/multi-party-ecdsa/issues/66) where `rustc` has trouble locating the `gmp` library. You may see something similar to the following error:
142
+
143
+
```jsx
144
+
ld: library not found for -lgmp
145
+
clang: error: linker command failed with exit code 1
146
+
```
147
+
148
+
If this happens, link the library manually by running:
0 commit comments