/go-pdu

An PDU implementation in Go

Primary LanguageGoGNU General Public License v3.0GPL-3.0

GoDoc GoReport License Mentioned in Awesome Go

Golang implementation of PDU.

Join Test

iOS : https://testflight.apple.com/join/FqQGxhbn

What is PDU?

PDU is short for ParaDigi Universe, is a fully peer-to-peer (P2P) social network system designed to enable participants to freely publish and efficiently access information without relying on any third-party services. Traditional systems that do not use centralized verification methods, such as phone numbers, are vulnerable to Sybil attacks, where the cost-free creation of new accounts can overwhelm the network with spam, undermining reward and punishment mechanisms. PDU addresses this issue by establishing trusted publisher identities through a sequence of messages signed by the same private key. Interactions such as reposts, comments, and likes create associations between publishers, allowing participants to form a custom set of visible publisher identities. This relatively stable scope enables an identity-based reward and punishment mechanism to effectively filter information.

Please read the WhitePaper on https://pdu.pub for more details.

Usage

ParaDigi Universe
	A Peer-to-Peer Social Network Service
	Website: https://pdu.pub

Usage:
  pdu [flags]

Flags:
  -d, --dbName string    Database name (default "pdu.db")
  -h, --help             help for pdu
  -n, --nodeKey string   Node key (default "node.key")
  -p, --peerPort int     Port to listen for P2P connections (default 4001)
  -r, --rpcPort int      Port for the RPC server (default 8545)
  -t, --test             Run in test mode
  -w, --webPort int      Port for the web server (default 8546)

Development

To copy the repository:

get clone https://github.com/pdupub/go-pdu.git

To build:

make build 

Contributing

  1. Fork the repository on GitHub to start making your changes to the master branch
  2. Write a test which shows that the bug was fixed or that the feature works as expected
  3. Send a pull request and bug the maintainer until it gets merged and published