ton-blockchain/ton

GitHub: ton-blockchain/ton

TON区块链的官方核心代码库,涵盖全节点、验证者、轻客户端及FunC编译器的完整实现。

Stars: 3903 | Forks: 1470

TON logo

Reference implementation of TON Node and tools


##

Ton Research Telegram Community Group Telegram Foundation Group Telegram Community Chat

Twitter Group TON Overflow Group Stack Overflow Group

主要 TON monorepo,包含 node/validator、lite-client、tonlib、FunC 编译器等的代码。 ## 开放网络 __The Open Network (TON)__ 是一个快速、安全、可扩展的区块链,专注于处理_每秒数百万笔交易_ (TPS),目标是服务数亿区块链用户。 - 要了解更多关于 TON 区块链及其底层生态系统的不同方面,请查看[文档](https://ton.org/docs) - 要运行节点 (node)、验证者 或轻服务器,请查看[参与部分](https://ton.org/docs/participate/nodes/run-node) - 要开发去中心化应用,请查看[教程](https://docs.ton.org/v3/guidelines/smart-contracts/guidelines)、[FunC 文档](https://ton.org/docs/develop/func/overview)和 [DApp 教程](https://docs.ton.org/v3/guidelines/dapps/overview) - 要使用 TON,请查看[钱包](https://ton.app/wallets)、[浏览器](https://ton.app/explorers)、[DEX](https://ton.app/dex)和[实用工具](https://ton.app/utilities) - 要与 TON 交互,请查看 [APIs](https://docs.ton.org/v3/guidelines/dapps/apis-sdks/overview) ## 更新流程 * **master 分支** - 主网 在此稳定分支上运行。 只有紧急更新、迫切更新或不影响主代码库的更新(GitHub workflows / docker images / 文档)才会直接提交到此分支。 * **testnet 分支** - 测试网 在此分支上运行。该分支包含一组新更新。测试完成后,testnet 分支将合并到 master 分支,然后一组新的更新会被添加到 testnet 分支。 * **backlog** - 其他有资格在下一轮迭代中进入 testnet 分支的分支。 通常,对你 pull request 的回复会指出它属于哪个部分。 ## “软性” Pull Request 规则 * 不得合并自己的 PR,至少应由一人审查并合并 PR(四眼原则) * 在考虑合并之前,请确保你的 PR 已顺利完成 workflows ## 构建 TON 区块链 ### Ubuntu 22.04, 24.04 (x86-64, aarch64) 安装额外的系统库 ``` sudo apt-get update sudo apt-get install -y build-essential git cmake ninja-build wget https://apt.llvm.org/llvm.sh chmod +x llvm.sh sudo ./llvm.sh 21 clang ``` 编译 TON 二进制文件 ``` cp assembly/native/build-ubuntu-shared.sh . chmod +x build-ubuntu-shared.sh ./build-ubuntu-shared.sh ``` ### MacOS 11, 12 (x86-64, aarch64) ``` cp assembly/native/build-macos-shared.sh . chmod +x build-macos-shared.sh ./build-macos-shared.sh ``` ### Windows 10, 11, Server (x86-64) 你需要先安装 `MS Visual Studio 2022`。 访问 https://www.visualstudio.com/downloads/ 并下载 `MS Visual Studio 2022 Community`。 启动安装程序并选择 `Desktop development with C++`。 安装完成后,还需通过将 `C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin` 添加到系统 `PATH` 中(根据你的需要调整路径),来确保 `cmake` 全局可用。 以管理员身份 打开 `x86-64 Native Tools Command Prompt for VS 2022`,进入根文件夹,并执行: ``` copy assembly\native\build-windows-2022.bat . build-windows-2022.bat ``` ### MSYS2 MinGW64 (x86-64) 从 MinGW64 shell 执行 ``` cp assembly/msys2/build-mingw64-clang21.sh . chmod +x build-mingw64-clang21.sh ./build-mingw64-clang21.sh -a ``` 结果,你将获得完全静态编译的 TON windows 二进制文件。 ### MSYS2 UCRT64 (x86-64) 从 ucrt64 shell 执行 ``` cp assembly/msys2/build-ucrt64-clang21.sh . chmod +x build-ucrt64-clang21.sh ./build-ucrt64-clang21.sh -a ``` 结果,你将获得完全静态编译的 TON windows 二进制文件。 ### 构建 TON 到 WebAssembly 在 Ubuntu 上安装额外的系统库 ``` sudo apt-get update sudo apt-get install -y build-essential git cmake ninja-build wget https://apt.llvm.org/llvm.sh chmod +x llvm.sh sudo ./llvm.sh 21 clang ``` 使用 emscripten 编译 TON 二进制文件 ``` cd assembly/wasm chmod +x fift-func-wasm-build-ubuntu.sh ./fift-func-wasm-build-ubuntu.sh ``` ### 为 Android 构建 TON tonlib 库 (arm64-v8a, armeabi-v7a, x86, x86-64) 在 Ubuntu 上安装额外的系统库 ``` sudo apt-get update sudo apt-get install -y build-essential git cmake ninja-build automake libtool texinfo autoconf libgflags-dev \ libreadline-dev pkg-config libgsl-dev python3 python3-dev libtool autoconf ``` 编译 TON tonlib 库 ``` cp assembly/android/build-android-tonlib.sh . chmod +x build-android-tonlib.sh ./build-android-tonlib.sh ``` ### TON 便携式二进制文件 Linux 便携式二进制文件被封装在 AppImages 中,而 MacOS 便携式二进制文件是静态链接的可执行文件。 Linux 和 MacOS 二进制文件均支持 x86-64 和 arm64 架构。 ## 运行测试 通过在 build 目录中运行 `ctest` 来执行测试。更多信息请参见 `doc/Tests.md`。
标签:Bash脚本, C++, FunC 编译器, Layer1, SOC Prime, Telegram, The Open Network, TON, Tonlib, Web3, 公链, 共识算法, 分布式账本, 加密技术, 加密货币, 区块链, 区块链底层, 去中心化, 可扩展性, 开发工具, 数据擦除, 智能合约, 节点, 轻客户端, 验证器