ethtweet

command module
v0.8.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 11, 2024 License: MIT Imports: 24 Imported by: 0

README

English | 简体中文

Ethereum Tweet protocol

Ethereum Tweet protocol

The technical principle is to use Ethereum personal_sign to sign the tweet information, and then submit it to ipfs for storage. The front end can also read the information on ipfs to verify the signature to ensure the information is accurate.

Because the personal_sign signature is used, and it is a plaintext signature, it will not be used for malicious attacks.

This program provides http api for the front-end program to call to realize the separation of data and display.

Local data persistence supports sqlite and MySQL, but users can use it with a wallet without using the client.

online experience https://app.ethtweet.io/#/home

http api docs api

principle

Use the wallet to sign the tweet information, then submit it to ipfs, and then broadcast it to other nodes, and other nodes save and index it, and then submit it to ipfs.

The tweets of each address have an auto-incrementing nonce value, starting from 0, which is used to mark the order in which tweets are published, and there is also a sequence when nodes pull data.

You can use the web front end, and then call the rpc interface.

config

By default, the tweet.yaml file is read, and the command-line arguments are read if it does not exist.

mysql configuration

Modify the configuration file tweet.yaml to correctly configure the MySQL connection information.

In the window environment, if there is a MySQL 8.0 in the program running directory, it will automatically start MySQL, the required files and their paths

mysql\bin\mysqld.exe
mysql\bin\libprotobuf-lite.dll

start node

./EthTweet -config "./tweet.yaml"

docker

Run the test, close the container data to automatically clear

docker run  --rm -it -p 8080:8080 -p 4001:4001/udp -p 4001:4001/tcp chenjia404/ethtweet

save data run

docker run -it -v ./databases:/databases -v ./keyStore:/keyStore -p 8080:8080 -p 4001:4001/udp -p 4001:4001/tcp chenjia404/ethtweet

docker-compose

Under the docker-compose directory, an environment with MySQL is integrated, which can be started with one click.

releases

goreleaser release --skip-publish --skip-validate --clean

verify signature
gpg --recv-key E1346252ED662364CA37F716189BE79683369DA3

gpg --verify .\ethtweet_0.7.4_windows_amd64.zip.asc .\ethtweet_0.7.4_windows_amd64.zip

If using RSA key E1346252ED662364CA37F716189BE79683369DA3 appears, the verification is successful

todo

Add node statistics, record the longest online time, and connect every time you start

The function of encrypting private messages can generate encrypted private messages, and only the address holder can decrypt and read them.

app side

pc version web

Add attachment support: you can upload zip-like files and download them

Added attachment seeding: node reseeding

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL