/ README.md
README.md
1 # Project Status 2 3 Notice: 4 Forknet is a temporary name for a project running on a temporary testchain. 5 This platform is not intended for critical communication or financial use. 6 7 Forknet Core - Work in progress (ready for testing). 8 - v0.2.1 release: `forknet.jar` (84.4 MB) 9 - Build version: `v0.2.1-8e073fa` 10 - SHA-256 checksum: `0b74aeda0998d3b1eb2d173ddfc0526ef031dd2b05d186d2faaff573b7bafee6` 11 - SHA-512 checksum: `fd2a749bf1686525bd7963f961e841bb51a19f5702983438adefd9f9cc7ad5f105cfced2a1648f43160544322311ac04b047789ac60b6ec83b2fe58fab882176` 12 13 Forknet Classic UI - Work in progress (ready for testing). 14 Forknet React UI - Planned. 15 16 # Radicle IDs 17 18 Forknet User Account: 19 /users/z6Mkty3jF17VqCGvmceVkzFzeP5Gxn9xY1quBLtUDEr3M4nw 20 /rad:zxgD9sBtLzWqtJQqCk4HEphDgfea - Forknet Core 21 /rad:z3HJuSfgjZeUfn5mE9THVByovkuhq - Forknet Classic UI 22 23 Radicle info: https://radicle.xyz 24 25 # Simplex Chat Group 26 27 http://isdb4l77sjqoy2qq7ipum6x3at6hyn3jmxfx4zdhc72ufbmuq4ilwkqd.onion/contact/#/?v=2-7&smp=smp%3A%2F%2Fhejn2gVIqNU6xjtGM3OwQeuk8ZEbDXVJXAlnSBJBWUA%3D%40smp16.simplex.im%2FSCzrzJTKEMkOCVjcEqBVSAm6p5uMampc%23%2F%3Fv%3D1-3%26dh%3DMCowBQYDK2VuAyEAYEu0QIDDLHra9-w-bDCK2LjQs8JNDnB76kNKhHCAnXk%253D%26srv%3Dp3ktngodzi6qrf7w64mmde3syuzrv57y55hxabqcq3l5p6oi7yzze6qd.onion&data=%7B%22groupLinkId%22%3A%2218aP_s9zCR2n0trk18W-ZA%3D%3D%22%7D 28 29 https://simplex.chat/contact#/?v=2-7&smp=smp%3A%2F%2Fhejn2gVIqNU6xjtGM3OwQeuk8ZEbDXVJXAlnSBJBWUA%3D%40smp16.simplex.im%2FSCzrzJTKEMkOCVjcEqBVSAm6p5uMampc%23%2F%3Fv%3D1-3%26dh%3DMCowBQYDK2VuAyEAYEu0QIDDLHra9-w-bDCK2LjQs8JNDnB76kNKhHCAnXk%253D%26srv%3Dp3ktngodzi6qrf7w64mmde3syuzrv57y55hxabqcq3l5p6oi7yzze6qd.onion&data=%7B%22groupLinkId%22%3A%2218aP_s9zCR2n0trk18W-ZA%3D%3D%22%7D 30 31 # Forknet Project - Forknet Core - Primary Repository 32 The Forknet Core is the blockchain and node component of the Forknet project. It contains the primary API, and ability to make calls to create transactions, and interact with the Forknet Blockchain Network. 33 34 In order to run the Forknet Core, a machine with java 11+ installed is required. Minimum RAM specs will vary depending on settings, but as low as 4GB of RAM should be acceptable in most scenarios. 35 36 Forknet is a complete infrastructure platform with a blockchain backend, it is capable of indefinite web and application hosting with no continual fees, replacement of DNS and centralized name systems and communications systems, and is the foundation of the next generation digital infrastructure of the world. Forknet addresses as many concerns from both the existing 'blockchain space' and the 'typical internet' as possible, while maintaining a system that is easy to use and able to run on 'any' computer. 37 38 Forknet contains extensive functionality geared toward complete decentralization of the digital world. Removal of 'middlemen' of any kind from all transactions, and ability to publish websites and applications that require no continual fees, on a name that is truly owned by the account that registered it, or purchased it from another. A single name on Forknet is capable of being both a namespace and a 'username'. That single name can have an application, website, public and private data, communications, authentication, the namespace itself and more, which can subsequently be sold to anyone else without the need to change any type of 'hosting' or DNS entries that do not exist, email that doesn't exist, etc. Maintaining the same functionality as those replaced features of web2. 39 40 Over time Forknet has progressed into a fully featured environment catering to any and all types of people and organizations, and will continue to advance as time goes on. Bringing more features, capability, device support, and available replacements for web2. Ultimately building a new, completely user-controlled digital world without limits. 41 42 Forknet has no owner, no company on top of it, and is completely community built, run, and funded. A community-established and run group of developers make decisions for the project's future. If you are a developer interested in assisting with the project, you may reach out to the Forknet development group in any of the available Forknet community locations. Either on the Forknet network itself, or on one of the temporary centralized social media locations. 43 44 Building the future one block at a time. Welcome to Forknet. 45 46 # Building the Forknet Core from Source 47 48 ## Build / Run 49 50 - Requires Java 11. OpenJDK 11 recommended over Java SE. 51 - Install Maven 52 - Use Maven to fetch dependencies and build: `mvn clean package` 53 - Update Maven dependencies: `mvn install` 54 - Built JAR should be something like `target/forknet-1.0.jar` 55 - Create basic *settings.json* file: `echo '{}' > settings.json` 56 - Run JAR in same working directory as *settings.json*: `java -jar target/forknet-1.0.jar` 57 - Wrap in shell script, add JVM flags, redirection, backgrounding, etc. as necessary. 58 - Or use supplied example shell script: *start.sh* 59 60 ## IntelliJ IDEA Configuration 61 62 - Run -> Edit Configurations 63 - Add New Application 64 - Name: forknet 65 - SDK: java 11 66 - Main Class: org.forknet.controller.Controller 67 - Program arguments: settings.json -Dlog4j.configurationFile=log4j2.properties -ea 68 - Environment variables: Djava.net.preferIPv4Stack=false 69 70 # Using a pre-built Forknet 'jar' binary 71 72 If you prefer to utilize a released version of Forknet, you may do so by downloading one of the available releases from the releases page. 73 74 # Learning F-App Development 75 76 These are JS/React (and other client-side languages) applications built on Forknet. F-Apps are published by Registered Forknet Names, and aside from a single Name Registration and a publish transaction, require zero continual upkeep. These applications get more redundant with each new access from a new Forknet Node, making your application faster for the next user to download, and stronger as time goes on. F-Apps live indefinitely in the history of the blockchain-secured Forknet Data Network (FDN). 77 78 # How to learn more 79 80 If the project interests you, you may learn more from the various web2 and FDN based websites focused on introductory information.