We’re very excited to announce OpenTron, the first fully independent implementation of the Tron protocol! It has been under active development for several months and while still a work in progress, it is now nearing completion.
The project is currently financed and developed by Oikos but it is open source and we are in the process of setting up an independent foundation, the OpenTron foundation, which will be completely community-driven. Please contact us by email or on Telegram if you would like to be involved with the foundation.
The goals of the project are to provide a fast and lightweight Tron client which will contribute to decentralization and encourage community participation. We are also hoping to introduce modern APIs which will make Tron development easier for developers. We have already been using them with success to port TheGraph to Tron (another upcoming announcement!).
For more in-depth information, keep reading the rationale below.
The Tron network currently has one and only implementation. This has lead to some criticism of Tron being too centralized. We want to change that by providing an alternative implementation and an independent development team.
- High performance
API calls to java-tron nodes often result in CPU timeouts and other “out of resource” related errors. This is partly because java-tron is written in Java, a garbage-collected language that runs in a virtual machine. OpenTron is written in Rust, a modern language that is increasingly adopted for blockchain and systems development due to its high performance, safety, and modern design.
- Modern codebase and faster development cycle
Java-tron was forked several years ago from a Java Ethereum codebase. It has since accumulated a lot of technical debt and has a lot of inconsistent and missing documentation. We believe that a greenfield implementation will enable us to produce a cleaner code base that is easier to contribute to. In addition, since Rust has first-class support for WebAssembly, it will be possible to re-use its code for creating web-based software like clients, wallets, explorers, etc.
Anyone is welcome to contribute to our GitHub repository, just send a pull request!
Is this a hard fork?
OpenTron is not a “hard fork” as it is fully compatible with the original java-tron client.
How can I start using it?
The current implementation is not ready for general use so, unless you are quite technically advanced, it is not possible to use it at the moment. Stay tuned for our official beta release! Also, please star the repository on GitHub so we can gauge the level of interest.
Is the Tron Foundation or Justin Sun affiliated with this project?
No, neither are. We are an independent community project.
Why not contribute directly to java-tron to make it better?
Their development team does not seem very receptive to community contributions and we believe that having an independent implementation will greatly benefit Tron’s decentralization.
We hope this project will positively contribute to the future of Tron and all its community.