mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-20 10:52:25 +00:00
update mailserver and remove some leftover text
This commit is contained in:
parent
c46e60cf15
commit
7314975066
1 changed files with 47 additions and 52 deletions
|
|
@ -25,9 +25,13 @@ In case an argument is missing, `wnode` will either use the default value or pro
|
||||||
|
|
||||||
`-asym`: use asymmetric encryption in the chat
|
`-asym`: use asymmetric encryption in the chat
|
||||||
|
|
||||||
`-boot`: A string representing the bootstrap node to connect to
|
`-boot`: A string representing the bootstrap node to connect to. For example:
|
||||||
|
|
||||||
`-dbpath`: The path to the server's DB directory
|
```
|
||||||
|
-boot=enode://d25474361659861e9e651bc728a17e807a3359ca0d344afd544ed0f11a31faecaf4d74b55db53c6670fd624f08d5c79adfc8da5dd4a11b9213db49a3b750845e@52.178.209.125:30379
|
||||||
|
```
|
||||||
|
|
||||||
|
`-dbpath`: The path to the server's DB directory, for incoming messages to be stored
|
||||||
|
|
||||||
`-echo`: prints some arguments for diagnostics
|
`-echo`: prints some arguments for diagnostics
|
||||||
|
|
||||||
|
|
@ -39,7 +43,7 @@ In case an argument is missing, `wnode` will either use the default value or pro
|
||||||
|
|
||||||
`-generatekey`: generate and show the private key, and exit
|
`-generatekey`: generate and show the private key, and exit
|
||||||
|
|
||||||
`-idfile`: file name with node id (private key)
|
`-idfile`: file name containing a node ID (private key) in hexadecimal format
|
||||||
|
|
||||||
`-ip`: IP address and port of this node (e.g. 127.0.0.1:30303)
|
`-ip`: IP address and port of this node (e.g. 127.0.0.1:30303)
|
||||||
|
|
||||||
|
|
@ -53,9 +57,13 @@ In case an argument is missing, `wnode` will either use the default value or pro
|
||||||
|
|
||||||
`-pow`: PoW for normal messages in float format (e.g. 2.7) (default 0.2)
|
`-pow`: PoW for normal messages in float format (e.g. 2.7) (default 0.2)
|
||||||
|
|
||||||
`-pub`: public key for asymmetric encryption
|
`-pub`: public key for asymmetric encryption. For example:
|
||||||
|
|
||||||
`-savedir`: directory where all incoming messages will be saved as files
|
```
|
||||||
|
-pub=0x07af49cbe6353b8732a8b9eb20dd1472f3d4512cd1a11382ee2817cc6de9453bc07c32c730b93bc83877b11e4f47d718751297f4edcbf35015df2b34ff5fc6a75d
|
||||||
|
```
|
||||||
|
|
||||||
|
`-savedir`: directory where all incoming messages will be saved as files. Only big messages are stored there, except in `fileexchange` mode where all files are stored there.
|
||||||
|
|
||||||
`-standalone`: don't actively connect to any peers, wait for incoming connections instead
|
`-standalone`: don't actively connect to any peers, wait for incoming connections instead
|
||||||
|
|
||||||
|
|
@ -71,32 +79,6 @@ In case an argument is missing, `wnode` will either use the default value or pro
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-pub:
|
|
||||||
Public key of your peer (for asymmetric encryption). For example:
|
|
||||||
-pub=0x07af49cbe6353b8732a8b9eb20dd1472f3d4512cd1a11382ee2817cc6de9453bc07c32c730b93bc83877b11e4f47d718751297f4edcbf35015df2b34ff5fc6a75d
|
|
||||||
|
|
||||||
-idfile:
|
|
||||||
File name containing node ID (private key) in hexadecimal string format.
|
|
||||||
For example: -idfile=/home/vlad/tmp/config
|
|
||||||
Example of the file content: b3651aff593ef395ee7c16f3ca681830f7d8d0b2729cf472b14f2c4ebe833aa0
|
|
||||||
|
|
||||||
-boot:
|
|
||||||
The bootstrap node you want to connect to. For example:
|
|
||||||
-boot=enode://d25474361659861e9e651bc728a17e807a3359ca0d344afd544ed0f11a31faecaf4d74b55db53c6670fd624f08d5c79adfc8da5dd4a11b9213db49a3b750845e@52.178.209.125:30379
|
|
||||||
|
|
||||||
-topic:
|
|
||||||
Message topic in hexadecimal format. For example: -topic=70a4beef.
|
|
||||||
|
|
||||||
-dbpath:
|
|
||||||
Path to directory where Mail Server will store the incoming messages.
|
|
||||||
For example: -dbpath=tmp/myfiles/archive
|
|
||||||
|
|
||||||
-savedir:
|
|
||||||
Directory where successfully decrypted incoming messages will be saved as files in plain format.
|
|
||||||
Message hashes will be used as file names in order to avoid collisions.
|
|
||||||
By default, only big messages are stored there.
|
|
||||||
In 'fileexchange' mode all messages are stored there.
|
|
||||||
|
|
||||||
## Scenarios & Examples
|
## Scenarios & Examples
|
||||||
|
|
||||||
For simplicity, in these examples we assume that we only use `wnode` to communicate with another wnode.
|
For simplicity, in these examples we assume that we only use `wnode` to communicate with another wnode.
|
||||||
|
|
@ -105,7 +87,7 @@ For simplicity, in these examples we assume that we only use `wnode` to communic
|
||||||
### Start a bootstrap node for test network
|
### Start a bootstrap node for test network
|
||||||
|
|
||||||
```
|
```
|
||||||
> wnode -standalone -forwarder -ip=127.0.0.1:30379
|
$ wnode -standalone -forwarder -ip=127.0.0.1:30379
|
||||||
my public key: 0x040ef7acd60781c336c52056b3782f7eae45be2063e591ac6b78472dc27ba770010bde445ffd2f3623ad656f3859e00d11ef518df4916c4d4e258c60b15f34c682 enode://15454fc65bbf0031155f4eee83fa732f1454c314e9f78ade9cba4d4a098d29edbf5431764ee65b200169025c3f900cacc3348a000dda7a8a0d9643d0b7618712@127.0.0.1:30379
|
my public key: 0x040ef7acd60781c336c52056b3782f7eae45be2063e591ac6b78472dc27ba770010bde445ffd2f3623ad656f3859e00d11ef518df4916c4d4e258c60b15f34c682 enode://15454fc65bbf0031155f4eee83fa732f1454c314e9f78ade9cba4d4a098d29edbf5431764ee65b200169025c3f900cacc3348a000dda7a8a0d9643d0b7618712@127.0.0.1:30379
|
||||||
Bootstrap Whisper node started
|
Bootstrap Whisper node started
|
||||||
```
|
```
|
||||||
|
|
@ -115,19 +97,23 @@ Bootstrap Whisper node started
|
||||||
After the bootstrap node has started, another local node can connect to it, using the resulting enode:
|
After the bootstrap node has started, another local node can connect to it, using the resulting enode:
|
||||||
|
|
||||||
```
|
```
|
||||||
> wnode -test -boot=enode://15454fc65bbf0031155f4eee83fa732f1454c314e9f78ade9cba4d4a098d29edbf5431764ee65b200169025c3f900cacc3348a000dda7a8a0d9643d0b7618712@127.0.0.1:30379
|
$ wnode -test -boot=enode://15454fc65bbf0031155f4eee83fa732f1454c314e9f78ade9cba4d4a098d29edbf5431764ee65b200169025c3f900cacc3348a000dda7a8a0d9643d0b7618712@127.0.0.1:30379
|
||||||
............................
|
............................
|
||||||
Whisper node started
|
Whisper node started
|
||||||
Connected to peer.
|
Connected to peer.
|
||||||
............................
|
............................
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Persistent ID
|
||||||
|
|
||||||
Upon restarting the bootstrap node, its enode will be different, because the ID is randomly generated. For persistence accross restarts, it is possible to specify an ID stored in a file using the 'idfile' argument.
|
Upon restarting the bootstrap node, its enode will be different, because the ID is randomly generated. For persistence accross restarts, it is possible to specify an ID stored in a file using the 'idfile' argument.
|
||||||
|
|
||||||
Generating ID:
|
Generating ID:
|
||||||
|
|
||||||
```
|
```
|
||||||
> wnode -generatekey > pk1.txt
|
$ wnode -generatekey > pk1.txt
|
||||||
|
$ cat pk1.txt
|
||||||
|
b3651aff593ef395ee7c16f3ca681830f7d8d0b2729cf472b14f2c4ebe833aa0
|
||||||
```
|
```
|
||||||
|
|
||||||
`pk1.txt` now contains the key used to generate the ID.
|
`pk1.txt` now contains the key used to generate the ID.
|
||||||
|
|
@ -135,7 +121,7 @@ Generating ID:
|
||||||
Starting the bootstrap node with a persistent ID:
|
Starting the bootstrap node with a persistent ID:
|
||||||
|
|
||||||
```
|
```
|
||||||
> wnode -forwarder -standalone -ip=127.0.0.1:30379 -idfile=pk1.txt
|
bootnode $ wnode -forwarder -standalone -ip=127.0.0.1:30379 -idfile=pk1.txt
|
||||||
my public key: 0x04be81a00a90f5c21ead8887eaa254b3f7a37e06f8f2d776dcc46954a228bc50c6fb6dfd155f7e44e6fef9b62fdf6dad041759b864d2cbe4089b6f5c16a817ff46 enode://7d13360f5b1ddcf6947f244639113597a863abba0589d2fa5fffb2816ead0acea6211d5778a8be648e45e81ed881f4c1f5c9bbbf0e79065dfb54bcd97de3beab@127.0.0.1:30379
|
my public key: 0x04be81a00a90f5c21ead8887eaa254b3f7a37e06f8f2d776dcc46954a228bc50c6fb6dfd155f7e44e6fef9b62fdf6dad041759b864d2cbe4089b6f5c16a817ff46 enode://7d13360f5b1ddcf6947f244639113597a863abba0589d2fa5fffb2816ead0acea6211d5778a8be648e45e81ed881f4c1f5c9bbbf0e79065dfb54bcd97de3beab@127.0.0.1:30379
|
||||||
Filter is configured for the topic: 5a4ea131
|
Filter is configured for the topic: 5a4ea131
|
||||||
Bootstrap Whisper node started
|
Bootstrap Whisper node started
|
||||||
|
|
@ -144,7 +130,7 @@ my public key: 0x04be81a00a90f5c21ead8887eaa254b3f7a37e06f8f2d776dcc46954a228bc5
|
||||||
Now you can always use the same command to connect to your bootstrap node:
|
Now you can always use the same command to connect to your bootstrap node:
|
||||||
|
|
||||||
```
|
```
|
||||||
> wnode -test -boot=enode://7d13360f5b1ddcf6947f244639113597a863abba0589d2fa5fffb2816ead0acea6211d5778a8be648e45e81ed881f4c1f5c9bbbf0e79065dfb54bcd97de3beab@127.0.0.1:30379
|
othernode $ wnode -test -boot=enode://7d13360f5b1ddcf6947f244639113597a863abba0589d2fa5fffb2816ead0acea6211d5778a8be648e45e81ed881f4c1f5c9bbbf0e79065dfb54bcd97de3beab@127.0.0.1:30379
|
||||||
```
|
```
|
||||||
|
|
||||||
Be aware that the ID is stored unencrypted. This feature should only be used for test purposes.
|
Be aware that the ID is stored unencrypted. This feature should only be used for test purposes.
|
||||||
|
|
@ -152,7 +138,7 @@ Be aware that the ID is stored unencrypted. This feature should only be used for
|
||||||
In order to set up a bootstrap node on a server with a dedicated IP address, its IP and port need to be specified explicitly:
|
In order to set up a bootstrap node on a server with a dedicated IP address, its IP and port need to be specified explicitly:
|
||||||
|
|
||||||
```
|
```
|
||||||
> wnode -forwarder -standalone -ip=52.178.211.103:30379
|
bootnode $ wnode -forwarder -standalone -ip=52.178.211.103:30379
|
||||||
```
|
```
|
||||||
|
|
||||||
### Using a mail server
|
### Using a mail server
|
||||||
|
|
@ -160,7 +146,7 @@ In order to set up a bootstrap node on a server with a dedicated IP address, its
|
||||||
The mailserver is only provided as an example for people interested in building their own solution. It is not supported.
|
The mailserver is only provided as an example for people interested in building their own solution. It is not supported.
|
||||||
|
|
||||||
```
|
```
|
||||||
> wnode -forwarder -standalone -ip=127.0.0.1:30381 -idfile=config.txt -mailserver -dbpath=tmp/db
|
$ wnode -forwarder -standalone -ip=127.0.0.1:30381 -idfile=config.txt -mailserver -dbpath=tmp/db
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -171,16 +157,16 @@ For two nodes to communicate using symmetric encryption, one of them must assume
|
||||||
to which both peers can connect with the following command:
|
to which both peers can connect with the following command:
|
||||||
|
|
||||||
```
|
```
|
||||||
> wnode -boot=enode://d25474361659861e9e651bc728a17e807a3359ca0d344afd544ed0f11a31faecaf4d74b55db53c6670fd624f08d5c79adfc8da5dd4a11b9213db49a3b750845e@52.178.209.125:30379
|
bootnode $ wnode -boot=enode://d25474361659861e9e651bc728a17e807a3359ca0d344afd544ed0f11a31faecaf4d74b55db53c6670fd624f08d5c79adfc8da5dd4a11b9213db49a3b750845e@52.178.209.125:30379
|
||||||
```
|
```
|
||||||
|
|
||||||
The user is prompted for the symmetric encryption password. The symmetric key is derived from this password. The topic will be derived from the password as well, unless it's provided by the user on the command line (which is strongly encouraged for any meaningful communication):
|
The user is prompted for the symmetric encryption password. The symmetric key is derived from this password. The topic will be derived from the password as well, unless it's provided by the user on the command line (which is strongly encouraged for any meaningful communication):
|
||||||
|
|
||||||
```
|
```
|
||||||
> wnode -topic=a6fcb30d -boot=enode://d25474361659861e9e651bc728a17e807a3359ca0d344afd544ed0f11a31faecaf4d74b55db53c6670fd624f08d5c79adfc8da5dd4a11b9213db49a3b750845e@52.178.209.125:30379
|
othernode $ wnode -topic=a6fcb30d -boot=enode://d25474361659861e9e651bc728a17e807a3359ca0d344afd544ed0f11a31faecaf4d74b55db53c6670fd624f08d5c79adfc8da5dd4a11b9213db49a3b750845e@52.178.209.125:30379
|
||||||
```
|
```
|
||||||
|
|
||||||
The communication is therefore established. Typing message in one console will appear on the other:
|
The communication is therefore established. Typing message in one console will echo:
|
||||||
|
|
||||||
```
|
```
|
||||||
hello world!
|
hello world!
|
||||||
|
|
@ -201,7 +187,7 @@ Only the brackets are different, indicating that this message originated from an
|
||||||
Using asymmetric encryption is as simple as using the `-asym` flag:
|
Using asymmetric encryption is as simple as using the `-asym` flag:
|
||||||
|
|
||||||
```
|
```
|
||||||
> wnode -topic=a6fcb30d -asym -boot=enode://d25474361659861e9e651bc728a17e807a3359ca0d344afd544ed0f11a31faecaf4d74b55db53c6670fd624f08d5c79adfc8da5dd4a11b9213db49a3b750845e@52.178.209.125:30379
|
othernode $ wnode -topic=a6fcb30d -asym -boot=enode://d25474361659861e9e651bc728a17e807a3359ca0d344afd544ed0f11a31faecaf4d74b55db53c6670fd624f08d5c79adfc8da5dd4a11b9213db49a3b750845e@52.178.209.125:30379
|
||||||
|
|
||||||
my public key: 0x0405007821171295a716c9d091371e836e98a5206d5b9ce9177df90c83fc308ebae2786a9c7bff999ad83d12be08e597d4b5a5240f3bb0bc366f008b7d0908df8a
|
my public key: 0x0405007821171295a716c9d091371e836e98a5206d5b9ce9177df90c83fc308ebae2786a9c7bff999ad83d12be08e597d4b5a5240f3bb0bc366f008b7d0908df8a
|
||||||
enode://efe233263c78482111ba6c058ccc69b7a2ea3372774733def4fd5a357dfbaa67657e665078d573f11876fd2b7d75d41926976f41e257f91b486e9d36f4143c8a@[::]:42562
|
enode://efe233263c78482111ba6c058ccc69b7a2ea3372774733def4fd5a357dfbaa67657e665078d573f11876fd2b7d75d41926976f41e257f91b486e9d36f4143c8a@[::]:42562
|
||||||
|
|
@ -217,14 +203,14 @@ First line of the output contains the key which should be passed to another peer
|
||||||
File exchange is activated with the `fileexchange` flags. Examples here use the `-test` flag for simplicity. Assuming that the incoming messages are to be stored in `/home/tester/tmp/msg`, the resulting command line is:
|
File exchange is activated with the `fileexchange` flags. Examples here use the `-test` flag for simplicity. Assuming that the incoming messages are to be stored in `/home/tester/tmp/msg`, the resulting command line is:
|
||||||
|
|
||||||
```
|
```
|
||||||
> wnode -standalone -ip=127.0.0.1:30379 -idfile=pk1.txt -fileexchange -savedir=/home/tester/tmp/msg
|
bootnode $ wnode -standalone -ip=127.0.0.1:30379 -idfile=pk1.txt -fileexchange -savedir=/home/tester/tmp/msg
|
||||||
enode://7d13360f5b1ddcf6947f244639113597a863abba0589d2fa5fffb2816ead0acea6211d5778a8be648e45e81ed881f4c1f5c9bbbf0e79065dfb54bcd97de3beab@127.0.0.1:30379
|
enode://7d13360f5b1ddcf6947f244639113597a863abba0589d2fa5fffb2816ead0acea6211d5778a8be648e45e81ed881f4c1f5c9bbbf0e79065dfb54bcd97de3beab@127.0.0.1:30379
|
||||||
```
|
```
|
||||||
|
|
||||||
To send a file to this first `wnode`, type:
|
To send a file to this first `wnode`, type:
|
||||||
|
|
||||||
```
|
```
|
||||||
> wnode -test -boot=enode://7d13360f5b1ddcf6947f244639113597a863abba0589d2fa5fffb2816ead0acea6211d5778a8be648e45e81ed881f4c1f5c9bbbf0e79065dfb54bcd97de3beab@127.0.0.1:30379
|
othernode $ wnode -test -boot=enode://7d13360f5b1ddcf6947f244639113597a863abba0589d2fa5fffb2816ead0acea6211d5778a8be648e45e81ed881f4c1f5c9bbbf0e79065dfb54bcd97de3beab@127.0.0.1:30379
|
||||||
```
|
```
|
||||||
|
|
||||||
Typing messages in the console of the second node, will cause the first one to display something like this:
|
Typing messages in the console of the second node, will cause the first one to display something like this:
|
||||||
|
|
@ -251,22 +237,31 @@ Mail Server and Client must have direct connection, since they exchange special
|
||||||
|
|
||||||
Starting Mail Server:
|
Starting Mail Server:
|
||||||
|
|
||||||
> wnode -mailserver -forwarder -standalone -test -ip=127.0.0.1:30381 -idfile=pk1.txt -dbpath=/home/tester/tmp/arj
|
|
||||||
|
```
|
||||||
|
bootnode $ wnode -mailserver -forwarder -standalone -test -ip=127.0.0.1:30381 -idfile=pk1.txt -dbpath=/home/tester/tmp/arj
|
||||||
|
```
|
||||||
|
|
||||||
Now start another node, connect to the Server, and send some test messages to fill the database:
|
Now start another node, connect to the Server, and send some test messages to fill the database:
|
||||||
|
|
||||||
> wnode -test -boot=enode://7d13360f5b1ddcf6947f244639113597a863abba0589d2fa5fffb2816ead0acea6211d5778a8be648e45e81ed881f4c1f5c9bbbf0e79065dfb54bcd97de3beab@127.0.0.1:30381
|
```
|
||||||
|
othernode $ wnode -test -boot=enode://7d13360f5b1ddcf6947f244639113597a863abba0589d2fa5fffb2816ead0acea6211d5778a8be648e45e81ed881f4c1f5c9bbbf0e79065dfb54bcd97de3beab@127.0.0.1:30381
|
||||||
|
```
|
||||||
|
|
||||||
Note the UNIX time of the messages. For example: 1493127055.
|
Note the UNIX time of the messages. For example: `1493127055`.
|
||||||
Now start the Mail Client and connect to the Server:
|
Now start the Mail Client and connect to the Server:
|
||||||
|
|
||||||
> wnode -mailclient -test -boot=enode://7d13360f5b1ddcf6947f244639113597a863abba0589d2fa5fffb2816ead0acea6211d5778a8be648e45e81ed881f4c1f5c9bbbf0e79065dfb54bcd97de3beab@127.0.0.1:30381
|
```
|
||||||
|
othernode $ wnode -mailclient -test -boot=enode://7d13360f5b1ddcf6947f244639113597a863abba0589d2fa5fffb2816ead0acea6211d5778a8be648e45e81ed881f4c1f5c9bbbf0e79065dfb54bcd97de3beab@127.0.0.1:30381
|
||||||
|
```
|
||||||
|
|
||||||
You will be prompted to enter the time range of the archived messages you want to receive:
|
You will be prompted to enter the time range of the archived messages you want to receive:
|
||||||
|
|
||||||
> Please enter the lower limit of the time range (unix timestamp): 1493127000
|
```
|
||||||
> Please enter the upper limit of the time range (unix timestamp): 1493127099
|
Please enter the lower limit of the time range (unix timestamp): 1493127000
|
||||||
> Please enter the topic (hexadecimal):
|
Please enter the upper limit of the time range (unix timestamp): 1493127099
|
||||||
|
Please enter the topic (hexadecimal):
|
||||||
|
```
|
||||||
|
|
||||||
You can leave the topic empty for now, in which case all the messages will be delivered, regardless of the topic.
|
You can leave the topic empty for now, in which case all the messages will be delivered, regardless of the topic.
|
||||||
The message should be delivered by the the Server, decrypted by the Client and displayed on the screen.
|
The message should be delivered by the the Server, decrypted by the Client and displayed on the screen.
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue