Giter Club home page Giter Club logo

java-tron's Introduction



java-tron

Java implementation of the Tron Protocol

Table of Contents

What's TRON?

TRON is a project dedicated to building the infrastructure for a truly decentralized Internet.

  • Tron Protocol, one of the largest blockchain-based operating systems in the world, offers scalable, high-availability and high-throughput support that underlies all the decentralized applications in the TRON ecosystem.

  • Tron Virtual Machine (TVM) allows anyone to develop decentralized applications (DAPPs) for themselves or their communities with smart contracts thereby making decentralized crowdfunding and token issuance easier than ever.

TRON enables large-scale development and engagement. With over 2000 transactions per second (TPS), high concurrency, low latency, and massive data transmission. It is ideal for building decentralized entertainment applications. Free features and incentive systems allow developers to create premium app experiences for users.

Building the source

Building java-tron requires git and Oracle JDK 1.8 to be installed, other JDK versions are not supported yet. It is recommended to operate on Linux and OSX operating systems.

Getting the Source Code

$ git clone https://github.com/tronprotocol/java-tron.git
$ git checkout -t origin/master

Build

$ cd java-tron
$ ./gradlew clean build -x test

The FullNode.jar file can be found in java-tron/build/libs/FullNode.jar after build successful.

Running java-tron

Get the mainnet configurate file: main_net_config.conf, other network configuration files can be find here.

  • Running a full node for mainnet
    Full node has full historical data, it is the entry point into the TRON network , it can be used by other processes as a gateway into the TRON network via HTTP and GRPC endpoints. You can interact with the TRON network through full node:transfer assets, deploy contracts, interact with contracts and so on. -c parameter specifies a configuration file to run a full node:

    $ java -jar FullNode.jar -c main_net_config.conf
  • Running a super representative node for mainnet
    Adding the --witness parameter to the startup command, full node will run as a super representative node. The super representative node supports all the functions of the full node and also supports block production. Before running, make sure you have a super representative account and get votes from others,once the number of obtained votes ranks in the top 27, your super representative node will participate in block production.

    Fill in the private key of super representative address into the localwitness list in the main_net_config.conf, here is an example:

     localwitness = [
         650950B193DDDDB35B6E48912DD28F7AB0E7140C1BFDEFD493348F02295BD812
     ]
    

    then run the following command to start the node:

    $ java -jar FullNode.jar --witness -c main_net_config.conf

Quick Start Tool

An easier way to build and run java-tron is to use start.sh, start.sh is a quick start script written in shell language, you can use it to build and run java-tron quickly and easily.

Here are some common use cases of the scripting tool

  • Use start.sh to start a full node with the downloaded FullNode.jar
  • Use start.sh to download the latest FullNode.jar and start a full node.
  • Use start.sh to download the latest source code and compile a FullNode.jar and then start a full node.

For more details, please refer to the tool guide.

Community

Tron Developers & SRs is Tron's official Discord channel. Feel free to join this channel if you have any questions.

Core Devs Community is the Telegram channel for java-tron community developers. If you want to contribute to java-tron, please join this channel.

tronprotocol/allcoredev is the official Gitter channel for developers.

Contribution

If you'd like to contribute to java-tron, please read the following instructions.

Resources

  • Medium java-tron's official technical articles are published there.
  • Documentation java-tron's official technical documentation website.
  • Test network A stable test network of TRON contributed by TRON community.
  • Tronscan TRON network blockchain browser.
  • Wallet-cli TRON network wallet using command line.
  • TIP TRON Improvement Proposal (TIP) describes standards for the TRON network.
  • TP TRON Protocol (TP) describes standards already implemented in TRON network but not published as a TIP.

License

java-tron is released under the LGPLv3 license.

java-tron's People

Contributors

sean-liu55 avatar ss334452 avatar codeninjaevan avatar zhaohong avatar yrp avatar nanfengpo avatar lvs007 avatar zhangwenhua-tron avatar zergweak avatar olenheim avatar sasaxie avatar renchenchang avatar taihaofu avatar ithinker1991 avatar pangpangfeng avatar huzhenyuan avatar forfreeday avatar tjchern avatar miraculouswang avatar yanghang8612 avatar xiechang33 avatar jiangyy0824 avatar huangzhengsi avatar 317787106 avatar wangzichichi avatar sh11thead avatar houlei1017 avatar dorianrust avatar conglinduye avatar bluehoopor avatar

Stargazers

IT avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.