{"id":13746886,"url":"https://github.com/thetatoken/theta-protocol-ledger","last_synced_at":"2025-12-27T06:57:07.420Z","repository":{"id":37550099,"uuid":"143772016","full_name":"thetatoken/theta-protocol-ledger","owner":"thetatoken","description":"Reference implementation of the Theta Blockchain Ledger Protocol","archived":false,"fork":false,"pushed_at":"2025-02-05T07:41:22.000Z","size":52395,"stargazers_count":366,"open_issues_count":56,"forks_count":85,"subscribers_count":59,"default_branch":"master","last_synced_at":"2025-02-05T08:25:02.156Z","etag":null,"topics":["blockchain-technology","decentralized","distributed-systems"],"latest_commit_sha":null,"homepage":"https://docs.thetatoken.org/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thetatoken.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-08-06T19:13:46.000Z","updated_at":"2025-02-05T07:41:28.000Z","dependencies_parsed_at":"2024-06-18T20:07:14.168Z","dependency_job_id":"c4fbee54-5051-408c-bf93-58994ca69ffa","html_url":"https://github.com/thetatoken/theta-protocol-ledger","commit_stats":null,"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thetatoken%2Ftheta-protocol-ledger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thetatoken%2Ftheta-protocol-ledger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thetatoken%2Ftheta-protocol-ledger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thetatoken%2Ftheta-protocol-ledger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thetatoken","download_url":"https://codeload.github.com/thetatoken/theta-protocol-ledger/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253216843,"owners_count":21872966,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blockchain-technology","decentralized","distributed-systems"],"created_at":"2024-08-03T06:01:03.674Z","updated_at":"2025-12-27T06:57:07.414Z","avatar_url":"https://github.com/thetatoken.png","language":"Go","funding_links":[],"categories":["Others"],"sub_categories":[],"readme":"# Theta Blockchain Ledger Protocol\n\nThe Theta Blockchain Ledger is a Proof-of-Stake decentralized ledger designed for the video streaming industry. It powers the Theta token economy which incentives end users to share their redundant bandwidth and storage resources, and encourage them to engage more actively with video platforms and content creators. The ledger employs a novel [multi-level BFT consensus engine](docs/multi-level-bft-tech-report.pdf), which supports high transaction throughput, fast block confirmation, and allows mass participation in the consensus process. Off-chain payment support is built directly into the ledger through the resource-oriented micropayment pool, which is designed specifically to achieve the “pay-per-byte” granularity for streaming use cases. Moreover, the ledger storage system leverages the microservice architecture and reference counting based history pruning techniques, and is thus able to adapt to different computing environments, ranging from high-end data center server clusters to commodity PCs and laptops. The ledger also supports Turing-Complete smart contracts, which enables rich user experiences for DApps built on top of the Theta Ledger. For more technical details, please refer to our [technical whitepaper](docs/theta-technical-whitepaper.pdf) and [2019 IEEE ICBC paper](https://arxiv.org/pdf/1911.04698.pdf) \"Scalable BFT Consensus Mechanism Through Aggregated\nSignature Gossip\".\n\nTo learn more about the Theta Network in general, please visit the **Theta Documentation site**: https://docs.thetatoken.org/docs/what-is-theta-network.\n\n## Table of Contents\n- [Setup](#setup)\n- [Smart Contract and DApp Development on Theta](#smart-contract-and-dapp-development-on-theta)\n\n## Setup\n\n### Intall Go\n\nInstall Go and set environment variables `GOPATH` , `GOBIN`, and `PATH`. The current code base should compile with **Go 1.14.2**. On macOS, install Go with the following command\n\n```\nbrew install go@1.14.1\nbrew link go@1.14.1 --force\n```\n\n### Build and Install\n\nNext, clone this repo into your `$GOPATH`. The path should look like this: `$GOPATH/src/github.com/thetatoken/theta`\n\n```\ngit clone https://github.com/thetatoken/theta-protocol-ledger.git $GOPATH/src/github.com/thetatoken/theta\nexport THETA_HOME=$GOPATH/src/github.com/thetatoken/theta\ncd $THETA_HOME\n```\n\nNow, execute the following commands to build the Theta binaries under `$GOPATH/bin`. Two binaries `theta` and `thetacli` are generated. `theta` can be regarded as the launcher of the Theta Ledger node, and `thetacli` is a wallet with command line tools to interact with the ledger.\n\n```\nexport GO111MODULE=on\nmake install\n```\n\n#### Notes for Linux binary compilation\nThe build and install process on **Linux** is similar, but note that Ubuntu 18.04.4 LTS / Centos 8 or higher version is required for the compilation. \n\n#### Notes for Windows binary compilation\nThe Windows binary can be cross-compiled from macOS. To cross-compile a **Windows** binary, first make sure `mingw64` is installed (`brew install mingw-w64`) on your macOS. Then you can cross-compile the Windows binary with the following command:\n\n```\nmake exe\n```\n\nYou'll also need to place three `.dll` files `libgcc_s_seh-1.dll`, `libstdc++-6.dll`, `libwinpthread-1.dll` under the same folder as `theta.exe` and `thetacli.exe`.\n\n\n### Run Unit Tests\nRun unit tests with the command below\n```\nmake test_unit\n```\n\n## Smart Contract and DApp Development on Theta\n\nTheta provides full support for Turing-Complete smart contract, and is EVM compatible. To start developing on the Theta Blockchain, please check out the following links:\n\n### Smart Contracts\n* Smart contract and DApp development Overview: [link here](https://docs.thetatoken.org/docs/turing-complete-smart-contract-support). \n* Tutorials on how to interact with the Theta blockchain through [Metamask](https://docs.thetatoken.org/docs/web3-stack-metamask), [Truffle](https://docs.thetatoken.org/docs/web3-stack-truffle), [Hardhat](https://docs.thetatoken.org/docs/web3-stack-hardhat), [web3.js](https://docs.thetatoken.org/docs/web3-stack-web3js), and [ethers.js](https://docs.thetatoken.org/docs/web3-stack-hardhat).\n* TNT20 Token (i.e. ERC20 on Theta) integration guide: [link here](https://docs.thetatoken.org/docs/theta-blockchain-tnt20-token-integration-guide).\n\n### Local Test Environment Setup\n* Launching a local privatenet: [link here](https://docs.thetatoken.org/docs/launch-a-local-privatenet).\n* Command line tools: [link here](https://docs.thetatoken.org/docs/command-line-tool).\n* Connect to the [Testnet](https://docs.thetatoken.org/docs/connect-to-the-testnet), and the [Mainnet](https://docs.thetatoken.org/docs/connect-to-the-mainnet).\n* Node configuration: [link here](https://docs.thetatoken.org/docs/theta-blockchain-node-configuration).\n\n### API References\n* Native RPC API references: [link here](https://docs.thetatoken.org/docs/rpc-api-reference).\n* Ethereum RPC API support: [link here](https://docs.thetatoken.org/docs/web3-stack-eth-rpc-support).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthetatoken%2Ftheta-protocol-ledger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthetatoken%2Ftheta-protocol-ledger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthetatoken%2Ftheta-protocol-ledger/lists"}