> [!TIP] > Haskell bindings supported!: [Bindings documentaton](https://p2prc.akilan.io/Docs/haskell/P2PRC.html) > [!NOTE] > Fixing documentation to latest changes. If you have any questions setting up P2PRC either [create an issue](https://github.com/Akilan1999/p2p-rendering-computation/issues/new/choose) or send me an email (me AT akilan dot io). > Currently HEAD is always intended to stay on a working state. It is recommended to always use HEAD in your go.mod file.


p2prc

GPLv2 license Maintenance made-with-Go GoDoc reference example
This project aims to simplify self-hosting servers and streamline the creation of distributed systems. The primary focus is to enable users to design custom peer-to-peer networks for distributed computing, offering full flexibility and control while abstracting away the complexities of networking. ## Key Features Simplified Self-Hosting Empower users to easily host nodes, whether on personal computers behind NAT, custom hardware, or cloud-based infrastructure. ### Custom Peer-to-Peer Networks Build a decentralised network tailored to user requirements, enabling distributed task execution without the need for in-depth networking knowledge. ### Heterogeneous Node Support Harness a diverse array of nodes from personal computers to specialised hardware—seamlessly integrated into a global node list. ### Abstracted Networking Layer Networking details are completely abstracted, enabling users to focus on developing bespoke task orchestration systems. No more manual configuration of IPs, ports, or connection logic. ### Flexible Task Distribution Users acting as clients retain full control over how tasks are batched and assigned to nodes, creating endless possibilities for optimising performance based on specific use cases. ## Latest tutorial [![IMAGE ALT TEXT](https://i.ytimg.com/vi/OMwCpedu5cs/hqdefault.jpg)](https://www.youtube.com/watch?v=OMwCpedu5cs")
## Documentation ### We have documented to our best effort the basics of p2prc: ## Link: https://p2prc.akilan.io/Docs/

## Extend your application with P2PRC ```go package main import ( "fmt" "github.com/Akilan1999/p2p-rendering-computation/abstractions" ) func main() { _, err := abstractions.Init(nil) if err != nil { fmt.Println(err) return } // start p2prc _, err = abstractions.Start() if err != nil { fmt.Println(err) return } // Run server till termination for { } } ``` ## Find out more As we are working on the open source project p2prc (i.e p2p network designed for computation).If you are interested in participating as a contributor or just providing feedback on new features to build or even just curious about new features added to the project do file an Issue or send an email to me@akilan.io. [![Star History Chart](https://api.star-history.com/svg?repos=Akilan1999/p2p-rendering-computation&type=Date)](https://github.com/Gaurav-Gosain)