波场白皮书
소개
1.1 비전
TRON은 진정한 분산형 인터넷 구축을 목표로 하는 야심찬 프로젝트입니다.
인프라. TRON 프로토콜은 세계에서 가장 큰 blockchain 기반 운영 체제 중 하나입니다.
world는 높은 처리량, 높은 확장성 및 고가용성에 대한 공개 blockchain 지원을 제공합니다.
TRON 생태계의 모든 분산형 애플리케이션(DApp). 2018년 7월 인수
BitTorrent는 분산형 생태계를 추구하는 데 있어 TRON의 리더십을 더욱 확고히 했습니다.
1.2 배경
2009년 Bitcoin의 도입은 전통적인 금융에 대한 사회의 인식에 혁명을 일으켰습니다. 대불황(2007~2008) 이후의 시스템입니다. 중앙화된 헤지펀드와 은행으로서 불투명한 금융 파생상품에 대한 투기로 인해 무너졌지만, blockchain 기술은 누구나 거래 정보를 수집할 수 있는 투명한 범용 원장. 는 거래는 작업 증명(PoW) 합의 메커니즘을 사용하여 암호화 방식으로 보호되었습니다. 따라서 이중 지출 문제를 방지할 수 있습니다.
2013년 말, Ethereum 백서는 smart contract과 Turing-complete Ethereum 가상 머신(EVM)을 통해 개발자는 DApp을 통해 네트워크를 구축합니다. 그러나 Bitcoin 및 Ethereum의 거래량이 2017년에 정점에 달하면서, 낮은 거래 처리 시간과 높은 거래 수수료로 인해 분명해졌습니다. 기존 상태의 Bitcoin 및 Ethereum과 같은 암호화폐는 널리 확장 가능하지 않았습니다. 입양. 따라서 TRON은 이러한 압박에 대한 혁신적인 솔루션으로 설립되고 구상되었습니다. 확장성 문제.

1.3 역사 TRON DAO은 2017년 7월 싱가포르에서 설립되었습니다. 2017년 12월에 TRON은(는) 오픈소스 프로토콜을 출시했습니다. 테스트넷, 블록체인 익스플로러, 웹월렛이 모두 있었습니다. 2018년 3월에 출시되었습니다. TRON 메인넷은 2018년 5월에 곧 출시되어 Odyssey 2.0은 기술적 이정표로 출시되었습니다. 2018년 6월 TRON이 독립을 선언했습니다. 2018년 7월 BitTorrent 인수와 함께 Genesis 블록 생성과 함께. 에서 2018년 10월, TRON은 완전한 개발자 도구 세트인 TRON 가상 머신(TVM)을 출시했습니다. 360 지원 시스템. TRON 로드맵에는 BitTorrent의 1억 명의 사용자를 결합하는 것이 포함됩니다. Project Atlas를 통해 TRON 네트워크와 협력하고 개발자 커뮤니티를 육성하여 출시 TRON 네트워크의 흥미롭고 새로운 DApp1. 1 V1.0은 https://tron.network/static/doc/white_paper_v_1_0.pdf에서 사용 가능합니다.
1.4 용어
주소/지갑 TRON 네트워크의 계정 자격 증명으로 구성된 주소 또는 지갑은 개인 키와 공개 키로 구성된 키 쌍(후자는 전자에서 파생됨) 알고리즘을 통해. 공개키는 일반적으로 세션키 암호화, 서명 등에 사용됩니다. 해당 개인 키로 해독할 수 있는 데이터를 확인하고 암호화합니다.
ABI ABI(애플리케이션 바이너리 인터페이스)는 두 바이너리 프로그램 모듈 간의 인터페이스입니다. 보통 이 모듈 중 하나는 라이브러리 또는 운영 체제 시설이고 다른 하나는 사용자가 실행하는 모듈입니다. 프로그램.
API API(Application 프로그래밍 인터페이스)는 주로 사용자 클라이언트 개발에 사용됩니다. API 포함 지원, token 발행 플랫폼은 개발자가 직접 설계할 수도 있습니다.
자산 TRON의 문서에서 자산은 token과 동일하며 TRC-10 token로도 표시됩니다.
대역폭 포인트(BP) 네트워크를 원활하게 운영하기 위해 TRON 네트워크 트랜잭션은 BP를 연료로 사용합니다. 각 계정 매일 5000의 무료 BP를 얻습니다. BP용 TRX를 동결하면 더 많은 BP를 얻을 수 있습니다. TRX와 TRC-10 모두 token 이체는 BP를 소모하는 일반적인 거래입니다. 스마트 계약 배포 및 실행 거래는 BP와 에너지를 모두 소비합니다.
블록 블록에는 거래의 디지털 기록이 포함됩니다. 완전한 블록은 매직 넘버로 구성됩니다. 블록 크기, 블록 헤더, 트랜잭션 카운터 및 트랜잭션 데이터.
블록 보상 블록 생산 보상은 하위 계정(주소/지갑)으로 전송됩니다. 슈퍼 대표자는 다음을 수행할 수 있습니다. Tronscan 또는 API를 통해 직접 보상을 청구하세요.
블록 헤더 블록 헤더는 블록의 일부입니다. TRON 블록 헤더에는 이전 블록의 hash이 포함되어 있습니다. 머클 루트, 타임스탬프, 버전, 증인 주소.콜드월렛 오프라인 지갑이라고도 알려진 콜드 지갑은 개인 키를 모든 정보와 완전히 분리된 상태로 유지합니다. 네트워크. 콜드 지갑은 일반적으로 "콜드" 장치(예: 컴퓨터 또는 휴대폰)에 설치됩니다. 오프라인 상태 유지) TRX 개인 키의 보안을 보장합니다.
디앱 분산형 애플리케이션은 중앙에서 신뢰할 수 있는 당사자 없이 작동하는 앱입니다. 애플리케이션 최종 사용자 및/또는 리소스 간의 직접적인 상호 작용/합의/통신을 가능하게 하는 것 중개자 없이.
gRPC gRPC(gRPC Remote Procedure Calls)는 오픈 소스 원격 프로시저 호출(RPC) 시스템입니다. 2 처음에는 Google에서 개발했습니다. 전송에는 HTTP/2를 사용하고 인터페이스로는 프로토콜 버퍼를 사용합니다. 설명언어를 제공하며 인증, 양방향 스트리밍, 흐름 등의 기능을 제공합니다. 제어, 차단 또는 비차단 바인딩, 취소 및 시간 초과. 생성합니다 다양한 언어에 대한 크로스 플랫폼 클라이언트 및 서버 바인딩. 가장 일반적인 사용 시나리오 마이크로서비스 스타일 아키텍처의 서비스 연결 및 모바일 장치 연결이 포함됩니다. 백엔드 서비스에 대한 브라우저 클라이언트.
핫월렛 온라인 지갑이라고도 알려진 핫 지갑은 사용자의 개인 키를 온라인에서 사용할 수 있도록 해줍니다. 악의적인 행위자에 의한 잠재적인 취약성 또는 가로채기에 취약합니다.
JDK Java Development Kit는 Java 애플리케이션에 사용되는 Java SDK입니다. 자바의 핵심이다 Java 애플리케이션 환경(JVM+Java 클래스 라이브러리)과 Java로 구성된 개발 도구.
카오스DB TRON에는 새로 생성된 모든 체인을 저장할 수 있는 전체 노드 메모리에 KhaosDB가 있습니다. 특정 기간 내에 증인이 자신의 활성 체인에서 신속하게 전환할 수 있도록 지원합니다. 새로운 메인 체인으로. 자세한 내용은 2.2.2 상태 저장소를 참조하세요.
레벨DB LevelDB는 초기에 빠른 R/W 및 빠른 요구 사항을 충족하는 주요 목표로 채택되었습니다. 개발. 메인넷 출시 후 TRON은 데이터베이스를 완전히 맞춤형으로 업그레이드했습니다. 하나는 자신의 필요에 부응했습니다. 자세한 내용은 2.2.1 블록체인 저장소를 참조하세요.
머클 루트 머클 루트는 blockchain에 있는 블록의 일부로 포함된 모든 거래의 모든 hashes 중 hash입니다. 네트워크. 자세한 내용은 3.1 위임된 지분 증명(DPoS)을 참조하세요. 2 https://en.wikipedia.org/wiki/GRPC

공개 테스트넷(Shasta) 단일 노드 구성에서 실행되는 네트워크 버전입니다. 개발자는 연결하고 테스트할 수 있습니다. 경제적 손실을 걱정하지 않고 기능을 제공합니다. 테스트넷 token은 가치가 없으며 누구나 할 수 있습니다. 공개 수도꼭지에서 더 많은 것을 요청하세요.
RPC
3
분산 컴퓨팅에서 원격 프로시저 호출(RPC)은 컴퓨터 프로그램이
다른 주소 공간(일반적으로 다른 컴퓨터의 다른 주소 공간)에서 실행되는 프로시저(서브루틴)
공유 네트워크)는 일반(로컬) 프로시저 호출인 것처럼 코딩됩니다.
프로그래머는 원격 상호 작용에 대한 세부 정보를 명시적으로 코딩합니다.
확장성 확장성은 TRON 프로토콜의 기능입니다. 시스템, 네트워크 또는 프로세스의 기능입니다. 점점 늘어나는 작업량을 처리하거나 해당 성장을 수용하기 위해 확장될 가능성이 있습니다.
태양 SUN은 TRX의 가장 작은 단위로 drop을 대체했습니다. 1 TRX = 1,000,000 SUN.
처리량 높은 처리량은 TRON 메인넷의 특징입니다. 초당 트랜잭션(TPS)으로 측정됩니다. 즉, 1초당 최대 트랜잭션 용량입니다.
타임스탬프 블록 생성의 대략적인 시간은 Unix 타임스탬프로 기록됩니다. 1970년 1월 1일 UTC 00:00:00 이후 경과된 밀리초입니다.
TKC 토큰 구성.
TRC-10 TRON 플랫폼의 암호화폐 token 표준입니다. 특정 규칙과 인터페이스를 따라야 합니다. TRON blockchain에 ICO를 보유할 때.
TRX TRX는 TRON의 공식 암호화폐인 Tronix의 약자입니다.
3 https://en.wikipedia.org/wiki/Remote_procedure_call
介绍
1.1 愿景
TRON 是一个雄心勃勃的项目,致力于建立一个真正去中心化的互联网及其
基础设施。 TRON 协议,最大的基于 blockchain 的操作系统之一
world,为高吞吐量、高可扩展性和高可用性提供公共 blockchain 支持
TRON 生态系统中的所有去中心化应用程序 (DApp)。 2018年7月收购
BitTorrent 进一步巩固了 TRON 在追求去中心化生态系统方面的领导地位。
1.2 背景
2009 年Bitcoin 的推出彻底改变了社会对传统金融的看法 大衰退(2007-2008)之后的系统。作为中心化的对冲基金和银行 由于不透明的金融衍生品投机而崩溃,blockchain 技术提供了 透明的通用分类账,任何人都可以从中收集交易信息。的 使用工作证明(PoW)共识机制以加密方式保护交易, 从而防止双重支出问题。
2013 年底,Ethereum 白皮书提出了一个网络,其中 smart contract 和 图灵完备的 Ethereum 虚拟机 (EVM) 将允许开发人员与 通过 DApp 网络。然而,随着 Bitcoin 和 Ethereum 的交易量在 2017 年达到顶峰, 从低交易吞吐量时间和高交易费用可以明显看出 像 Bitcoin 和 Ethereum 这样的加密货币在其现有状态下无法扩展以供广泛使用 收养。因此,TRON 成立并被设想为解决这些紧迫问题的创新解决方案 可扩展性挑战。

1.3 历史 TRON DAO 于 2017 年 7 月在新加坡成立。 2017 年 12 月,TRON 有 推出了其开源协议。测试网、区块链浏览器和网络钱包都是 于 2018 年 3 月推出。TRON 主网随后于 2018 年 5 月推出,标志着 Odyssey 2.0 的发布是一个技术里程碑。 2018年6月,TRON宣布独立 随着 Genesis 区块的创建,以及 2018 年 7 月对 BitTorrent 的收购。在 2018 年 10 月,TRON 推出了 TRON 虚拟机 (TVM),这是一个完整的开发人员工具集, 以及360支持系统。 TRON 路线图涉及合并 BitTorrent 的 1 亿用户 通过 Project Atlas 与 TRON 网络合作,并促进开发者社区推出 TRON 网络上令人兴奋的新 DApps1。 1 V1.0 发布于 https://tron.network/static/doc/white_paper_v_1_0.pdf
1.4 术语
地址/钱包 由 TRON 网络上的帐户凭据组成的地址或钱包由 密钥对,由私钥和公钥组成,后者源自前者 通过算法。公钥通常用于会话密钥加密、签名 验证,并对可以通过相应私钥解密的数据进行加密。
ABI 应用程序二进制接口(ABI)是两个二进制程序模块之间的接口;通常 这些模块之一是库或操作系统设施,另一个是用户运行的 程序。
应用程序编程接口 应用程序编程接口(API)主要用于用户客户端开发。具有API 支持,token发行平台也可以由开发者自行设计。
资产 在TRON的文档中,资产与token相同,也表示为TRC-10 token。
带宽点 (BP) 为了保持网络平稳运行,TRON网络交易使用BP作为燃料。每个账户 每日免费获得5000BP,冻结TRX换BP还可获得更多。 TRX 和 TRC-10 token 转账是消耗 BP 的正常交易。 智能合约部署和执行 交易既消耗BP又消耗Energy。
块 区块包含交易的数字记录。一个完整的块由幻数组成, 区块大小、区块头、交易计数器和交易数据。
区块奖励 区块生产奖励发送至子账户(地址/钱包)。超级代表可以 在 Tronscan 上或直接通过 API 领取奖励。
区块头 块头是块的一部分。 TRON 块头包含前一个块的 hash, Merkle 根、时间戳、版本和见证人地址。冷钱包 冷钱包也称为离线钱包,使私钥与任何人完全断开连接。 网络。冷钱包通常安装在“冷”设备上(例如电脑或手机) 保持离线)以保证TRX私钥的安全。
去中心化应用程序 去中心化应用程序是一种在没有集中信任方的情况下运行的应用程序。申请 实现最终用户和/或资源之间的直接交互/协议/通信 没有中间人。
远程过程调用 gRPC(gRPC Remote procedure Calls)是一个开源的远程过程调用(RPC)系统 2 最初是在 Google 开发的。它使用 HTTP/2 进行传输,使用 Protocol Buffers 作为接口 描述语言,并提供身份验证、双向流和流量等功能 控制、阻塞或非阻塞绑定以及取消和超时。它生成 多种语言的跨平台客户端和服务器绑定。最常见的使用场景 包括微服务风格架构中的连接服务和连接移动设备,以及 浏览器客户端到后端服务。
热钱包 热钱包又称在线钱包,允许用户在线使用私钥,因此可以 容易受到潜在漏洞或恶意行为者拦截的影响。
JDK Java Development Kit 是用于 Java 应用程序的 Java SDK。它是Java的核心 开发,包括Java应用环境(JVM+Java类库)和Java 工具。
考斯数据库 TRON 在全节点内存中有一个 KhaosDB,可以存储所有新分叉生成的链 在一定时间内支持见证人快速从自己的活跃链切换 进入新的主链。更多详细信息请参见 2.2.2 状态存储。
水平数据库 LevelDB最初被采用的主要目标是满足快速R/W和快速读取的要求。 发展。主网启动后,TRON 将其数据库升级为完全定制的 一个满足其自身的需要。更多详情请参见2.2.1 区块链存储。
默克尔根 Merkle 根是作为 blockchain 中的块的一部分包含的所有交易的所有 hash 的 hash 网络。有关更多详细信息,请参阅 3.1 委托权益证明 (DPoS)。 2 https://en.wikipedia.org/wiki/GRPC

公共测试网(Shasta) 以单节点配置运行的网络版本。开发者可以连接并测试 功能,无需担心经济损失。测试网 tokens 没有价值,任何人都可以 对公共水龙头提出更多要求。
远程过程调用
3
在分布式计算中,远程过程调用(RPC)是指计算机程序引起
在不同的地址空间(通常在另一台计算机上)执行的过程(子例程)
一个共享网络),它的编码就像一个正常的(本地)过程调用,没有
程序员明确编码远程交互的细节。
可扩展性 可扩展性是 TRON 协议的一项功能。它是系统、网络或流程的能力 处理越来越多的工作或扩大工作量以适应这种增长的潜力。
太阳 SUN取代drop成为TRX的最小单位。 1 TRX = 1,000,000 SUN。
吞吐量 高吞吐量是 TRON 主网的一个特点。它以每秒事务数 (TPS) 来衡量, 即一秒内的最大交易能力。
时间戳 区块生产的大致时间记录为Unix时间戳,即区块生产的数量 自 UTC 时间 1970 年 1 月 1 日 00:00:00 起经过的毫秒数。
TKC 令牌配置。
TRC-10 TRON 平台上的加密货币 token 标准。需要遵循一定的规则和接口 在 TRON blockchain 举行首次代币发行时。
TRX TRX代表Tronix,它是TRON的官方加密货币。
3 https://en.wikipedia.org/wiki/Remote_procedure_call
아키텍처
TRON은 Storage Layer, Core Layer, Application Layer로 구분된 3계층 아키텍처를 채택합니다. TRON 프로토콜은 본질적으로 다국어를 지원하는 Google Protobuf를 준수합니다. 확장.

그림 1: TRON 3계층 아키텍처
2.1 코어
핵심 계층에는 smart contracts, 계정 관리 및 합의. 스택 기반 가상 머신은 TRON에 구현되어 있으며 최적화된 명령어 세트가 사용됩니다. DApp 개발자를 더 잘 지원하기 위해 Solidity가 smart contract로 선택되었습니다. 4 언어에 이어 향후 다른 고급 언어도 지원됩니다. 또한 TRON의 합의 메커니즘은 위임된 지분 증명(DPoS)을 기반으로 하며 많은 혁신이 이루어졌습니다. 고유한 요구 사항을 충족하기 위해. 2.2 저장
TRON은 Block Storage와 State로 구성된 고유한 분산 스토리지 프로토콜을 설계했습니다. 저장. 그래프 데이터베이스라는 개념이 스토리지 계층 설계에 도입되었습니다. 현실 세계에서 다양한 데이터 스토리지에 대한 요구를 더 잘 충족합니다. 2.2.1 블록체인 스토리지
TRON blockchain 스토리지는 Google에서 개발하고 검증된 LevelDB를 사용하기로 선택합니다. 많은 회사와 프로젝트에서 성공했습니다. 고성능이며 임의 바이트를 지원합니다. 키와 값 모두로 배열, 단일 가져오기, 넣기 및 삭제, 일괄 넣기 및 삭제, 양방향 반복자 및 매우 빠른 Snappy 알고리즘을 사용한 간단한 압축입니다. 2.2.2 상태 저장
TRON에는 새로 생성된 모든 체인을 저장할 수 있는 전체 노드 메모리에 KhaosDB가 있습니다. 특정 기간 내에 증인이 자신의 활성 체인에서 신속하게 전환할 수 있도록 지원합니다. 새로운 메인 체인으로. 또한 blockchain 스토리지를 더 안정적으로 만들어 보호할 수 있습니다. 중간 상태에서 비정상적으로 종료됩니다. 2.3 적용
개발자는 TRON에서 다양한 DApp과 맞춤형 지갑을 만들 수 있습니다. TRON 이후 smart contracts를 배포하고 실행할 수 있게 되면 유틸리티 애플리케이션의 기회는 다음과 같습니다. 무제한. 4 Solidity 공식 문서: https://solidity.readthedocs.io/
2.4 프로토콜
TRON 프로토콜은 언어 중립적이고 플랫폼 중립적인 Google 프로토콜 버퍼를 준수합니다. 5 통신 프로토콜, 데이터 저장, 그리고 더. 2.4.1 프로토콜 버퍼
프로토콜 버퍼(Protobuf)는 구조화된 직렬화를 위한 유연하고 효율적이며 자동화된 메커니즘입니다. JSON이나 XML과 비슷하지만 훨씬 작고 빠르며 단순합니다.
Protobuf(.proto) 정의를 사용하여 C++, Java, C#, Python, Ruby용 코드를 생성할 수 있습니다. 공식 코드 생성기를 통한 Golang 및 Objective-C 언어. 다양한 제3자 다른 많은 언어에서도 구현이 가능합니다. Protobuf는 다음을 위한 개발을 용이하게 합니다. API 정의를 통합하고 데이터 전송을 최적화하여 클라이언트를 지원합니다. 클라이언트는 API를 사용할 수 있습니다 TRON의 프로토콜 저장소에서 .proto를 가져와 자동 생성된 코드를 통해 통합합니다. 도서관.
이에 비해 프로토콜 버퍼는 XML보다 3~10배 작고 20~100배 빠릅니다. 덜 모호한 구문을 사용합니다. Protobuf는 사용하기 쉬운 데이터 액세스 클래스를 생성합니다. 프로그래밍 방식으로. 2.4.2 HTTP
TRON 프로토콜은 Protobuf API 대신 RESTful HTTP API를 제공합니다. 그들은 같은 것을 공유합니다 인터페이스이지만 HTTP API는 자바스크립트 클라이언트에서 쉽게 사용할 수 있습니다. 2.5 TRON 가상 머신(TVM)
TVM은 TRON의 생태계를 위해 개발된 경량의 Turing 완전 가상 머신입니다. 는
TVM은 기존 개발 생태계와 원활하게 연결되어 수백만 개의 글로벌
효율적이고 편리하며 안정적이고 안전하며 맞춤 제작된 blockchain 시스템을 갖춘 개발자
확장 가능합니다.
2.6 탈중앙화 거래소(DEX)
5 Google 프로토콜 버퍼 공식 문서: https://developers.google.com/protocol-buffers/TRON 네트워크는 기본적으로 분산형 교환 기능을 지원합니다. 분산형 거래소 여러 거래 쌍으로 구성됩니다. 거래 쌍(“Exchange”로 표기)은 거래소 시장입니다. TRC-10 tokens 사이 또는 TRC-10 token과 TRX 사이. 모든 계정에서 거래를 생성할 수 있습니다. TRON 네트워크에 동일한 쌍이 이미 존재하는 경우에도 token 사이의 쌍입니다. 거래 및 거래 쌍의 가격 변동은 Bancor 프로토콜을 따릅니다. TRON 네트워크는 다음을 규정합니다. 6 모든 거래 쌍에서 두 token의 가중치는 동일하므로 잔고 비율이 가격입니다. 그들 사이. 예를 들어, ABC와 DEF라는 두 개의 token을 포함하는 거래 쌍을 생각해 보세요. ABC는 잔액은 1천만이고 DEF의 잔액은 100만입니다. 가중치가 동일하므로 10 ABC = 1 방어. 즉, ABC와 DEF의 비율은 DEF당 ABC 10개입니다. 2.7 구현
TRON blockchain 코드는 Java로 구현되었으며 원래 EthereumJ의 포크였습니다.
6 Bancor 프로토콜 공식 웹사이트: https://about.bancor.network/protocol/
架构
TRON采用三层架构,分为存储层、核心层和应用层。 TRON 协议遵循 Google Protobuf,本质上支持多语言 扩展。

图 1:TRON 3 层架构
2.1 核心
核心层有几个模块,包括smart contracts、账户管理、 共识。基于堆栈的虚拟机在 TRON 上实现并优化了指令 集被使用。为了更好地支持DApp开发者,Solidity被选为smart contract 4 语言,其次是未来对其他高级语言的支持。另外,TRON的共识 机制基于委托权益证明 (DPoS),并在以下方面做出了许多创新 以满足其独特的要求。 2.2 存储
TRON 设计了一种独特的分布式存储协议,由块存储和状态组成 存储。在存储层的设计中引入了图数据库的概念 更好地满足现实世界多样化数据存储的需求。 2.2.1 区块链存储
TRON blockchain 存储选择使用LevelDB,由Google开发并经过验证 与许多公司和项目取得成功。高性能,支持任意字节 数组作为键和值,单一获取、放置和删除,批量放置和删除,双向 迭代器,以及使用非常快的 Snappy 算法的简单压缩。 2.2.2 状态存储
TRON 在全节点内存中有一个 KhaosDB,可以存储所有新分叉的链 在一定时间内支持见证人快速从自己的活跃链切换 进入新的主链。它还可以通过使其更加稳定来保护 blockchain 存储。 在中间状态异常终止。 2.3 应用
开发者可以在TRON上创建各种DApp和定制钱包。自 TRON 起 使 smart contracts 能够被部署和执行,实用程序应用程序的机会是 无限。 4 Solidity 官方文档:https://solidity.readthedocs.io/
2.4 协议
TRON 协议遵循 Google Protocol Buffers ,这是一种语言中立、平台中立的协议, 5 以及序列化结构化数据的可扩展方式,用于通信协议、数据存储、 等等。 2.4.1 协议缓冲区
Protocol Buffers (Protobuf) 是一种灵活、高效、自动化的机制,用于序列化结构化数据 data,类似于 JSON 或 XML,但更小、更快、更简单。
Protobuf (.proto) 定义可用于生成 C++、Java、C#、Python、Ruby、 通过官方代码生成器生成 Golang 和 Objective-C 语言。各种第三方 还可以用于许多其他语言的实现。 Protobuf 简化了开发 通过统一 API 定义并优化数据传输来为客户端提供服务。客户可以使用API 来自 TRON 协议存储库的 .proto 并通过自动生成的代码进行集成 图书馆。
相比之下,Protocol Buffers 比 XML 小 3 到 10 倍,速度快 20 到 100 倍, 具有更少歧义的语法。 Protobuf 生成更易于使用的数据访问类 以编程方式。 2.4.2 超文本传输协议
TRON 协议提供了 Protobuf API 的 RESTful HTTP API 替代方案。他们有共同点 接口,但 HTTP API 可以很容易地在 javascript 客户端中使用。 2.5 TRON 虚拟机 (TVM)
TVM 是为 TRON 生态系统开发的轻量级图灵完备虚拟机。的
TVM与现有开发生态系统无缝连接,为全球数百万用户提供
为开发者定制高效、便捷、稳定、安全的blockchain系统
可扩展。
2.6 去中心化交易所(DEX)
5 Google Protocol Buffers 官方文档:https://developers.google.com/protocol-buffers/TRON网络原生支持去中心化交易功能。去中心化交易所 由多个交易对组成。交易对(符号“交易所”)是一个交易市场 TRC-10 token 之间,或 TRC-10 token 和 TRX 之间。任何账户都可以创建交易 任何 token 之间的对,即使 TRON 网络上已存在相同的对。贸易和 交易对的价格波动遵循Bancor协议。 TRON 网络规定 6 所有交易对中两个token的权重相等,所以它们的余额之比就是价格 他们之间。例如,考虑一个包含两个 token、ABC 和 DEF 的交易对。 ABC 有 余额为1000万,DEF余额为100万。由于它们的权重相等,因此 10 ABC = 1 防御。这意味着 ABC 与 DEF 的比率为 10 ABC/DEF。 2.7 实施
TRON blockchain 代码是用 Java 实现的,最初是 EthereumJ 的分支。
6 Bancor协议官网:https://about.bancor.network/protocol/
합의
3.1 위임된 지분 증명(DPoS)
최초의 합의 메커니즘은 작업 증명(PoW) 합의 메커니즘입니다. 이 프로토콜은 현재 Bitcoin 및 Ethereum에 구현되어 있습니다. PoW 시스템에서는 트랜잭션이 7 8 네트워크를 통한 방송은 채굴자 확인을 위해 초기 블록으로 그룹화됩니다. 는 확인 프로세스에는 암호화 hashing 알고리즘을 사용하여 hashing 트랜잭션이 포함됩니다. 머클 루트에 도달하여 머클 트리가 생성됩니다.
그림 2: 8개의 TRX 거래가 머클 루트에 hash됩니다. 이 머클 루트는 블록 헤더에 포함됩니다. blockchain을 형성하기 위해 이전에 확인된 블록에 첨부됩니다. 이를 통해 쉽고 투명하게 추적할 수 있습니다. 거래, 타임스탬프 및 기타 관련 정보.
7 Bitcoin 백서: https://bitcoin.org/bitcoin.pdf 8 Ethereum 백서: https://github.com/ethereum/wiki/wiki/White-Paper
암호화 hashing 알고리즘은 네트워크 공격 예방에 유용합니다.
여러 속성:
9
●
입력/출력 길이 크기 - 알고리즘은 크기에 관계없이 모든 길이의 입력을 전달할 수 있습니다.
고정 길이 hash 값을 출력합니다.
●
효율성 - 알고리즘은 상대적으로 계산이 쉽고 빠릅니다.
●
사전 이미지 저항 - 주어진 출력 z에 대해 다음과 같은 입력 x를 찾는 것은 불가능합니다.
h(x) = z. 즉, hashing 알고리즘 h(x)는 단방향 함수입니다.
입력이 주어지면 출력을 찾을 수 있습니다. 그 반대는 불가능합니다.
●
충돌 저항 - h(x1)이 되는 x1 ≠ x2 쌍을 찾는 것은 계산상 불가능합니다.
= h(x2). 즉, 동일한 두 개의 서로 다른 입력 hash을 찾을 확률입니다.
출력이 매우 낮습니다. 이 속성은 또한 두 번째 사전 이미지 저항을 의미합니다.
●
두 번째 사전 이미지 저항 - x1, 즉 h(x1)이 주어지면 다음이 계산적으로 불가능합니다.
h(x1) = h(x2)가 되는 x2를 찾으세요. 이 속성은 충돌 저항과 유사하지만,
속성은 주어진 x1을 가진 공격자가 계산적으로 그것을 찾을 것이라는 점에서 다릅니다.
동일한 출력에 대한 x2 hashing을 찾는 것은 불가능합니다.
●
결정론적 - 각 입력을 하나의 출력에만 매핑합니다.
●
Avalanche 효과 - 입력의 작은 변화로 인해 완전히 다른 출력이 발생합니다.
이러한 속성은 공격이 발생하지 않도록 보장함으로써 암호화폐 네트워크에 본질적인 가치를 부여합니다. 네트워크를 손상시킵니다. 채굴자가 블록을 확인하면 기본 제공되는 tokens 보상을 받습니다. 네트워크 참여에 대한 인센티브. 그러나 글로벌 암호화폐 시가총액으로는 꾸준히 증가하면서 채굴자들은 중앙 집중화되었고 컴퓨팅 리소스를 다음 분야에 집중했습니다. 네트워크 참여 목적이 아닌 자산으로 token을 비축합니다. CPU 채굴자들은 GPU는 강력한 ASIC으로 대체되었습니다. 한 주목할만한 연구에서 총 전력은 Bitcoin 채굴 소비량은 아일랜드와 비슷한 수준인 3GW에 달하는 것으로 추산됩니다. 10 전력 소비. 동일한 연구에서는 가까운 미래에 총 전력 소비가 8GW에 도달할 것으로 예상했습니다. 미래.
에너지 낭비 문제를 해결하기 위해 PoS(Proof of Stake) 합의 메커니즘이 제안되었습니다. 많은 새로운 네트워크. PoS 네트워크에서 token 보유자는 token 잔액을 잠궈 블록이 됩니다. validators. validator은 차례로 다음 블록을 제안하고 투표합니다. 그러나 문제는 표준 PoS의 경우 validator 영향력은 잠겨 있는 token의 양과 직접적으로 연관되어 있습니다. 이로 인해 당사자들이 네트워크의 기본 통화를 대량으로 보유하고 부당하게 사용하게 됩니다. 네트워크 생태계에 영향을 미칩니다.
TRON 합의 메커니즘은 혁신적인 위임 지분 증명 시스템을 사용합니다.
슈퍼 대표(SR)는 네트워크에 대한 블록을 생성합니다. 6시간마다 TRX 계정 보유자
자신의 계정을 동결한 사람은 상위 27명의 후보자와 함께 SR 후보자를 선택하기 위해 투표할 수 있습니다.
SR로 간주됩니다. 유권자는 SR이 후원하는 프로젝트와 같은 기준에 따라 SR을 선택할 수 있습니다.
9 PAAR, C., PELZL, J., 암호화 이해: 학생 및 실무자를 위한 교과서, 2010년 에디션.
Springer-Verlag 베를린 하이델베르그, 2010.
10 https://www.sciencedirect.com/science/article/pii/S2542435118301776TRX 채택을 늘리고 유권자에게 보상을 분배합니다. 이를 통해 보다 민주적이고
분산형 생태계. SR의 계정은 일반 계정이지만 득표수는 누적됩니다.
블록을 생산할 수 있게 해줍니다. Bitcoin 및 Ethereum의 낮은 처리량 비율로 인해
PoW 합의 메커니즘 및 확장성 문제인 TRON의 DPoS 시스템은 혁신적인
Bitcoin의 3 TPS 및 Ethereum의 15 TPS에 비해 2000 TPS이 발생하는 메커니즘입니다.
TRON 프로토콜 네트워크는 3초마다 하나의 블록을 생성하며 각 블록은 32개를 부여합니다. 슈퍼 대표자에게 TRX를 보냅니다. 매년 총 336,384,000 TRX가 27개의 SR에게 지급됩니다. SR이 블록 생성을 완료할 때마다 슈퍼원장의 하위 계정으로 보상이 전송됩니다. SR은 확인할 수 있지만 이러한 TRX token을 직접 사용할 수는 없습니다. 출금은 각자 할 수 있습니다. 24시간마다 1회 SR, 서브 계정의 보상이 지정된 SR로 이전됩니다. 계정.
TRON 네트워크의 세 가지 유형의 노드는 Witness Node, Full Node 및 Solidity Node입니다. 증인 노드는 SR에 의해 구성되며 주로 블록 생성 및 제안을 담당합니다. 생성/투표. 풀 노드는 API와 브로드캐스트 트랜잭션 및 블록을 제공합니다. Solidity 노드 동기화 다른 풀 노드를 차단하고 인덱싱 가능한 API도 제공합니다.
共识
3.1 委托权益证明 (DPoS)
最早的共识机制是工作量证明(PoW)共识机制。这个 协议目前在 Bitcoin 和 Ethereum 中实现。在 PoW 系统中,交易 7 8 通过网络广播的数据被分组为新生块以供矿工确认。的 确认过程涉及使用加密 hashing 算法进行 hashing 交易,直到 已达到默克尔根,创建默克尔树:
图 2:8 个 TRX 交易被 hash 写入 Merkle 根中。然后这个默克尔根被包含在区块头中, 附加到之前确认的块上,形成blockchain。这样可以轻松、透明地跟踪 交易、时间戳和其他相关信息。
7 Bitcoin 白皮书:https://bitcoin.org/bitcoin.pdf 8 Ethereum 白皮书:https://github.com/ethereum/wiki/wiki/White-Paper
加密 hashing 算法在网络攻击预防中非常有用,因为它们具有
几个属性:
9
●
输入/输出长度大小 - 该算法可以传入任意长度大小的输入,并且
输出固定长度 hash 值。
●
效率 - 该算法计算起来相对简单且快速。
●
原像抗性 - 对于给定的输出z,不可能找到任何输入x,使得
h(x) = z。换句话说,hashing 算法h(x) 是一种单向函数,其中仅
给定输入,可以找到输出。反过来是不可能的。
●
抗碰撞性 - 在计算上无法找到任何对 x1 ≠ x2 使得h(x1)
= h(x2).换句话说,找到两个不同输入 hashing 到同一输入的概率
产量极低。该属性还意味着第二原像抵抗。
●
第二原像抗性 - 给定x1,因此h(x1),在计算上是不可行的
找到任意x2,使得h(x1) = h(x2)。虽然此属性类似于防撞性,但
属性的不同之处在于,它表示具有给定x1的攻击者将通过计算找到它
无法找到任何x2 hashing 到相同的输出。
●
确定性 - 将每个输入映射到一个且仅一个输出。
●
Avalanche 效果 - 输入的微小变化会导致完全不同的输出。
这些特性确保加密货币网络不会受到攻击,从而赋予其内在价值。 危害网络。当矿工确认一个区块时,他们将获得 tokens 作为内置奖励 网络参与的激励。然而,随着全球加密货币市值 稳步增长,矿工变得中心化,将计算资源集中在 囤积 token 作为资产,而不是用于网络参与目的。 CPU矿工让位于 GPU 又让位于强大的 ASIC。在一项著名的研究中,总功率 Bitcoin 采矿消耗量估计高达 3 吉瓦,与爱尔兰的消耗量相当 10 功耗。该研究预计不久的将来总功耗将达到 8 GW 未来。
为了解决能源浪费问题,权益证明(PoS)共识机制被提出 许多新网络。在 PoS 网络中,token 持有者锁定其 token 余额以成为区块 validators。 validator 轮流对下一个区块进行提议和投票。然而,问题 对于标准 PoS 来说,validator 的影响力与锁定的 token 数量直接相关。 这导致各方囤积大量网络基础货币并过度使用 在网络生态系统中的影响力。
TRON 共识机制采用创新的委托权益证明系统,其中 27
超级代表(SR)为网络生产区块。每 6 小时,TRX 账户持有者
冻结账户的人可以投票选出 SR 候选人,其中排名前 27 的候选人
视为 SR。选民可以根据 SR 赞助的项目等标准来选择 SR
9 PAAR, C., PELZL, J.,《理解密码学:学生和从业者教科书》,2010 年版。
柏林施普林格出版社海德堡,2010。
10https://www.sciencedirect.com/science/article/pii/S2542435118301776提高 TRX 的采用率,并向选民分配奖励。这使得更加民主化和
去中心化的生态系统。 SR的账户是普通账户,但是他们的投票是累积的
允许他们生产区块。由于 Bitcoin 和 Ethereum 的吞吐率较低,
PoW共识机制和可扩展性问题,TRON的DPoS系统提供了一种创新的
机制导致 2000 TPS 与 Bitcoin 的 3 TPS 和 Ethereum 的 15 TPS 相比。
TRON 协议网络每三秒生成一个区块,每个区块奖励 32 TRX 给超级代表。每年将向 27 名 SR 奖励总计 336,384,000 TRX。 每次SR完成区块生产时,奖励都会发送到超级账本的子账户中。 SR 可以检查,但不能直接使用这些 TRX token。每人均可提款 每24小时SR一次,将子账号的奖励转入指定SR 帐户。
TRON网络上的三种类型的节点是见证节点、完整节点和Solidity节点。 见证节点由SR设立,主要负责区块生产和提案 创作/投票。全节点提供API并广播交易和区块。 Solidity 节点同步 来自其他完整节点的块,还提供可索引的 API。
계정
4.1 종류
TRON 네트워크의 세 가지 유형의 계정은 일반 계정, token 계정 및 계약 계좌.
1.
일반 계정은 표준 거래에 사용됩니다.
2.
토큰 계정은 TRC-10 token을 저장하는 데 사용됩니다.
3.
계약 계정은 일반 계정에서 생성된 smart contract 계정이며
일반 계정에서도 발생합니다.
4.2 생성
TRON 계정을 만드는 방법에는 세 가지가 있습니다.
1. API를 통해 새 계정 만들기 2. TRX를 새 계정 주소로 이체 3. TRC-10 token을 새 계정 주소로 이전하세요.
주소(공개키)와 개인키로 구성된 오프라인 키 쌍으로, TRON 네트워크도 생성될 수 있습니다. 사용자 주소 생성 알고리즘은 다음과 같이 구성됩니다. 키 쌍을 생성한 후 공개 키(x, y를 나타내는 64바이트 바이트 배열) 추출 좌표). SHA3-256 기능을 사용하여 공개 키를 해시합니다(채택된 SHA3 프로토콜은 KECCAK-256) 결과의 마지막 20바이트를 추출합니다. 바이트 배열의 시작 부분에 41을 추가합니다. 초기 주소 길이가 21바이트인지 확인합니다. SHA3-256 기능을 사용하여 주소를 두 번 해시합니다. 처음 4바이트를 인증 코드로 사용하세요. 이니셜 끝에 인증코드를 추가하세요. base58 인코딩을 통해 base58check 형식의 주소를 얻고 획득합니다. 인코딩된 메인넷 주소는 T로 시작하며 길이는 34바이트입니다. 4.3 구조
세 가지 다른 계정 유형은 Normal, AssetIssue 및 Contract입니다. 계정에는 7개가 포함됩니다. 매개변수:
1.
account_name: 이 계정의 이름 – 예: 청구서계정.
2.
type: 이 계정의 유형입니다. 예: 0('일반' 유형을 나타냄).
3.
잔액: 이 계좌의 잔액 – 예: 4213312.
4.
vote: 이 계정에서 투표를 받았습니다. – 예: {(“0x1b7w…9xj3”,323),
(“0x8djq…j12m”,88),…,(“0x82nd…mx6i”,10001)}.
5.
자산: 이 계정에서 TRX가 예상되는 다른 자산 – 예: {<“WishToken”, 66666>, <”Dogie”,
233>}.
6.
최신_작동_시간: 이 계정의 최신 작업 시간입니다.
Protobuf data structure:
message Account {
message Vote {
bytes vote_address = 1;
int64 vote_count = 2;
}
bytes accout_name = 1;
AccountType type = 2;
bytes address = 3;
int64 balance = 4;
repeated Vote votes = 5;
map<string, int64> asset = 6;
int64 latest_operation_time = 10;
}
enum AccountType {
Normal = 0;
AssetIssue = 1;
Contract = 2;
}
帐户
4.1 类型
TRON 网络中的三种帐户类型是常规帐户、token 帐户和 合约账户。
1.
常规账户用于标准交易。
2.
令牌账户用于存储 TRC-10 tokens。
3.
合约账户是由普通账户创建的 smart contract 账户,可以
也由常规帐户触发。
4.2 创建
创建 TRON 帐户的方法有以下三种:
1. 通过API创建新账户 2. 将TRX转入新账户地址 3. 将任何 TRC-10 token 转入新帐户地址
离线密钥对,由地址(公钥)和私钥组成,且未被记录。 TRON网络,也可以生成。用户地址生成算法包括 生成密钥对,然后提取公钥(代表 x, y 的 64 字节字节数组 坐标)。使用SHA3-256函数对公钥进行哈希处理(采用的SHA3协议是 KECCAK-256)并提取结果的最后 20 个字节。将 41 添加到字节数组的开头 并保证起始地址长度为21字节。使用 SHA3-256 函数对地址进行两次哈希处理 并取前4个字节作为验证码。将验证码添加到初始的末尾 地址,通过base58编码得到base58check格式的地址。一个编码的 主网地址以T开头,长度为34字节。 4.3 结构
三种不同的账户类型是普通账户、资产发行账户和合约账户。一个账户包含 7 个 参数:
1.
account_name:此帐户的名称 – 例如账单帐户。
2.
类型:该帐户的类型 - 例如0(代表“正常”类型)。
3.
余额:该账户的余额 – 例如4213312。
4.
投票:收到此帐户的投票 – 例如{(“0x1b7w…9xj3”,323),
(“0x8djq…j12m”,88),…,(“0x82nd…mx6i”,10001)}。
5.
资产:此账户中预期 TRX 的其他资产 – 例如{<“WishToken”, 66666>, <“Dogie”,
233>}。
6.
latest_operation_time:该账户的最新操作时间。
Protobuf data structure:
message Account {
message Vote {
bytes vote_address = 1;
int64 vote_count = 2;
}
bytes accout_name = 1;
AccountType type = 2;
bytes address = 3;
int64 balance = 4;
repeated Vote votes = 5;
map<string, int64> asset = 6;
int64 latest_operation_time = 10;
}
enum AccountType {
Normal = 0;
AssetIssue = 1;
Contract = 2;
}
블록
블록에는 일반적으로 블록 헤더와 여러 트랜잭션이 포함됩니다.
Protobuf data structure:
message Block {
BlockHeader block_header = 1;
repeated Transaction transactions = 2;
}
5.1 블록 헤더
블록 헤더에는 raw_data, witness_signature 및 blockID가 포함됩니다.
Protobuf data structure:
message BlockHeader {
message raw {
int64 timestamp = 1;
bytes txTrieRoot = 2;
bytes parentHash = 3;
uint64 number = 4;
uint64 version = 5;
bytes witness_address = 6;
}
bytes witness_signature = 2;
bytes blockID = 3;
}
5.1.1 원시 데이터
원시 데이터는 Protobuf에서 raw_data로 표시됩니다. 여기에는 6개를 포함하는 메시지의 원시 데이터가 포함되어 있습니다. 매개변수:
1. timestamp: 이 메시지의 타임스탬프 – 예: 1543884429000. 2. txTrieRoot: 머클 트리의 루트 – 예: 7dacsa…3ed. 3. parentHash: 마지막 블록의 hash – 예: 7dacsa…3ed. 4. 숫자: 블록 높이 – 예: 4638708. 5. 버전: 예약됨 – 예: 5.
6. Witness_address: 이 블록에 담긴 증인의 주소 – 예: 41928c...4d21. 5.1.2 증인 서명
증인 서명은 Protobuf에서 witness_signature로 표시되며, 이는 이에 대한 서명입니다. 감시 노드의 블록 헤더. 5.1.3 블록 ID
블록 ID는 Protobuf에서 blockID로 표시됩니다. 여기에는 블록의 원자 식별이 포함됩니다. 블록 ID에는 2개의 매개변수가 포함되어 있습니다. 1. hash: 블록의 hash. 2. 번호: hash 및 블록의 높이. 5.2 거래 5.2.1 서명
TRON의 거래 서명 프로세스는 표준 ECDSA 암호화 알고리즘을 따릅니다.
SECP256K1 선택 곡선. 개인키는 난수이고, 공개키는 숫자이다.
타원 곡선. 공개 키 생성 프로세스는 먼저 난수를 생성하는 것으로 구성됩니다.
개인 키를 얻은 다음 타원 곡선의 기준점에 개인 키를 곱하여
공개 키. 트랜잭션이 발생하면 먼저 트랜잭션 원시 데이터가 바이트 형식으로 변환됩니다.
그런 다음 원시 데이터는 SHA-256 hashing을 거칩니다. 계약에 해당하는 개인 키
그런 다음 주소는 SHA256 hash의 결과에 서명합니다. 그런 다음 서명 결과가
거래.
5.2.2 대역폭 모델
일반 트랜잭션은 대역폭 포인트만 소비하지만 smart contract 작업은 대역폭 포인트를 모두 소비합니다. 에너지 및 대역폭 포인트. 두 가지 유형의 대역폭 포인트를 사용할 수 있습니다. 사용자는 얻을 수 있습니다 TRX 동결로 인한 대역폭 포인트와 매일 5000개의 무료 대역폭 포인트도 사용할 수 있습니다.
TRX 트랜잭션이 브로드캐스트되면 바이트 배열 형태로 전송되어 저장됩니다. 네트워크. 한 번의 트랜잭션에 소비된 대역폭 포인트 = 트랜잭션 바이트 수 대역폭 포인트 비율을 곱합니다. 예를 들어 트랜잭션의 바이트 배열 길이가 200인 경우 그러면 트랜잭션은 200 대역폭 포인트를 소비합니다. 그러나 TRX 또는 token 전송 결과가 다음과 같은 경우 생성되는 대상 계정, 계정 생성에 소비된 대역폭 포인트만 차감되며 추가 대역폭 포인트는 차감되지 않습니다. 계정 생성에서 시나리오에서 네트워크는 먼저 트랜잭션 개시자가 얻은 대역폭 포인트를 소비합니다.TRX 동결에서. 이 금액이 충분하지 않으면 네트워크는 트랜잭션을 소비합니다. 개시자의 TRX.
하나의 TRX 계정에서 다른 TRX 계정으로의 표준 TRX 전송 시나리오에서 네트워크는 먼저 다음을 소비합니다. TRX를 동결하기 위해 트랜잭션 개시자가 얻은 대역폭 포인트. 그게 부족하면 그럼 무료 일일 5000 대역폭 포인트를 소모합니다. 그래도 충분하지 않다면 네트워크가 거래 개시자의 TRX를 소비합니다. 금액은 바이트 수로 계산됩니다. 거래에 10 SUN을 곱합니다. 따라서 반드시 동결되지 않을 수 있는 대부분의 TRX 보유자의 경우 SR 투표에 참여하기 위한 TRX의 경우 첫 번째 단계는 자동으로 건너뜁니다. 고정 = 0) 일일 무료 대역폭 5000이 거래를 지원합니다.
TRC-10 token 전송의 경우 네트워크는 먼저 총 여유 대역폭 포인트가 있는지 확인합니다. 발행된 token 자산이면 충분합니다. 그렇지 않은 경우 TRX를 동결하여 얻은 대역폭 포인트는 다음과 같습니다. 소비되었습니다. 여전히 대역폭 포인트가 충분하지 않으면 거래의 TRX를 소비합니다. 개시자.
5.2.3 수수료
TRON 네트워크는 일반적으로 시스템으로 인해 대부분의 거래에 대해 수수료를 부과하지 않습니다. 제한 및 공정성, 대역폭 사용량 및 거래에는 특정 수수료가 부과됩니다.
수수료 요금은 다음 범주로 분류됩니다. 1. 일반 거래에는 대역폭 포인트가 필요합니다. 사용자는 일일 무료 대역폭 포인트를 사용할 수 있습니다. (5000) 또는 더 많은 것을 얻으려면 TRX를 동결하세요. 대역폭 포인트가 충분하지 않으면 TRX는 보내는 계정에서 직접 사용됩니다. 필요한 TRX는 바이트 수 * 10 SUN입니다. 2. 스마트 계약에는 에너지 비용이 들지만(섹션 6) 다음을 위한 대역폭 포인트도 필요합니다. 거래가 방송되고 확인됩니다. 대역폭 비용은 위와 동일합니다. 3. 모든 쿼리 트랜잭션은 무료입니다. 에너지나 대역폭 비용이 들지 않습니다.
TRON 네트워크는 또한 다음 거래에 대한 고정 수수료 세트를 정의합니다. 1. 감시 노드 생성: 9999 TRX 2. TRC-10 token 발행: 1024 TRX 3. 새 계정 만들기: 0.1 TRX 4. 교환 쌍 생성: 1024 TRX 5.2.4 지분 증명 거래(TaPoS)
TRON은 TaPoS를 사용하여 거래가 모두 기본 blockchain을 확인하도록 보장합니다.
위조 체인을 위조하기가 어렵습니다. TaPoS에서 네트워크는 각 거래에 다음의 일부를 포함해야 합니다.
최근 블록 헤더의 hash. 이 요구 사항은 트랜잭션이 재생되는 것을 방지합니다.
참조된 블록을 포함하지 않고 포크하고 특정 사용자와 그들의스테이크는 특정 포크에 있습니다. 이 합의 메커니즘은 거부로부터 네트워크를 보호합니다.
서비스, 51%, 이기적인 채굴, 이중 지출 공격.
5.2.5 거래 확인
트랜잭션은 네트워크에 브로드캐스트된 후 미래 블록에 포함됩니다. 19블록이 지나면 TRON(자체 블록 포함)에서 채굴되면 거래가 확인됩니다. 각 블록은 다음과 같이 생성됩니다. 라운드 로빈 방식으로 상위 27명의 슈퍼 대표자 중 한 명입니다. 각 블록은 최대 3초 정도 소요됩니다. blockchain에서 채굴됩니다. 네트워크 상황에 따라 각 슈퍼대표마다 시간이 조금씩 다를 수 있습니다. 조건 및 기계 구성. 일반적으로 거래는 다음 이후에 완전히 확정된 것으로 간주됩니다. ~1분. 5.2.6 구조
Transaction APIs consist of the following functions: message Transaction { message Contract { enum ContractType { AccountCreateContract = 0; // Create account/wallet TransferContract = 1; // Transfer TRX TransferAssetContract = 2; // Transfer TRC10 token VoteWitnessContract = 4; // Vote for Super Representative (SR) WitnessCreateContract = 5; // Create a new SR account AssetIssueContract = 6; // Create a new TRC10 token WitnessUpdateContract = 8; // Update SR information ParticipateAssetIssueContract = 9; // Purchase TRC10 token AccountUpdateContract = 10; // Update account/wallet information FreezeBalanceContract = 11; // Freeze TRX for bandwidth or energy UnfreezeBalanceContract = 12; // Unfreeze TRX WithdrawBalanceContract = 13; // Withdraw SR rewards, once per day UnfreezeAssetContract = 14; // Unfreeze TRC10 token UpdateAssetContract = 15; // Update a TRC10 token’s information ProposalCreateContract = 16; // Create a new network proposal by any SR ProposalApproveContract = 17; // SR votes yes for a network proposal ProposalDeleteContract = 18; // Delete a network proposal by owner CreateSmartContract = 30; // Deploy a new smart contract TriggerSmartContract = 31; // Call a function on a smart contract GetContract = 32; // Get an existing smart contract UpdateSettingContract = 33; // Update a smart contract’s parameters ExchangeCreateContract = 41; // Create a token trading pair on DEX ExchangeInjectContract = 42; // Inject funding into a trading pair

ExchangeWithdrawContract = 43; // Withdraw funding from a trading pair ExchangeTransactionContract = 44; // Perform token trading UpdateEnergyLimitContract = 45; // Update origin_energy_limit on a smart contract } } }
区块
一个区块通常包含一个区块头和多个交易。
Protobuf data structure:
message Block {
BlockHeader block_header = 1;
repeated Transaction transactions = 2;
}
5.1 区块头
区块头包含raw_data、witness_signature和blockID。
Protobuf data structure:
message BlockHeader {
message raw {
int64 timestamp = 1;
bytes txTrieRoot = 2;
bytes parentHash = 3;
uint64 number = 4;
uint64 version = 5;
bytes witness_address = 6;
}
bytes witness_signature = 2;
bytes blockID = 3;
}
5.1.1 原始数据
原始数据在 Protobuf 中表示为raw_data。它包含一条消息的原始数据,包含6 参数:
1. 时间戳:该消息的时间戳 – 例如1543884429000。 2. txTrieRoot:Merkle 树的根 – 例如7dacsa…3ed。 3. ParentHash:最后一个块的 hash – 例如7dacsa…3ed。 4. number:区块高度 – 例如4638708。 5. 版本:保留 – 例如5.

6. 证人地址:包含在该块中的证人的地址 - 例如41928c...4d21。 5.1.2 见证人签名
见证人签名在 Protobuf 中表示为witness_signature,即为此的签名 来自见证节点的块头。 5.1.3 区块ID
块 ID 在 Protobuf 中表示为blockID。它包含块的原子标识。一个街区 ID包含2个参数: 1. hash:区块的hash。 2. number:块的 hash 和高度。 5.2 交易 5.2.1 签名
TRON 的交易签名过程遵循标准 ECDSA 加密算法,具有
SECP256K1选择曲线。私钥是一个随机数,公钥是随机数上的一个点
椭圆曲线。公钥生成过程包括首先生成一个随机数作为
私钥,然后将椭圆曲线的基点与私钥相乘,得到
公钥。当交易发生时,交易原始数据首先被转换为字节格式。
然后原始数据经过 SHA-256 hashing。合约对应的私钥
地址然后对 SHA256 hash 的结果进行签名。然后将签名结果添加到
交易。
5.2.2 带宽模型
普通交易只消耗带宽点,但 smart contract 操作则两者都消耗 能量和带宽点。有两种类型的可用带宽点。用户可以获得 冻结TRX的带宽点,同时每天还有5000个免费带宽点。
当TRX交易被广播时,它以字节数组的形式传输并存储在 网络。一笔交易消耗的带宽点数=交易字节数 乘以带宽点数率。例如,如果一笔交易的字节数组长度为200, 那么该交易消耗200个带宽点。但是,如果 TRX 或 token 传输导致 正在创建的目标帐户,则仅消耗创建帐户的带宽点 会被扣除,额外的带宽点不会被扣除。在帐户创建中 场景下,网络会首先消耗交易发起者获得的带宽点冷冻TRX。如果该金额不足,则网络将消耗该交易 发起者的TRX。
在从一个 TRX 账户到另一个 TRX 账户的标准 TRX 转账场景中,网络首先消耗 交易发起方冻结TRX获得的带宽积分。如果这还不够,那么 每天消耗5000个免费带宽点。如果这还不够,那么网络 消耗交易发起者的TRX。金额按字节数计算 交易额乘以 10 SUN。因此,对于大多数不一定会冻结的 TRX 持有者来说 自己的TRX参与SR投票,第一步会自动跳过(因为TRX余额 freeze = 0),每日 5000 个免费带宽为交易提供动力。
对于 TRC-10 token 传输,网络首先验证该传输的总可用带宽点是否为 发行 token 资产就足够了。如果不是,则冻结TRX获得的带宽点为 消耗了。如果仍然没有足够的带宽点,则消耗交易的TRX 发起者。
5.2.3 费用
TRON 网络一般不对大多数交易收取费用,但是,由于系统原因 限制和公平性、带宽使用和交易确实需要收取一定的费用。
费用分为以下几类: 1. 正常交易会消耗带宽点。用户可以使用每日免费带宽点 (5000)或冻结TRX以获得更多。当带宽点不够时,TRX将被 直接从发送帐户使用。所需的TRX是字节数*10 SUN。 2. 智能合约会消耗能源(第 6 节),但也需要带宽点 交易被广播和确认。带宽成本与上面相同。 3. 所有查询交易都是免费的。它不消耗能源或带宽。
TRON 网络还为以下交易定义了一组固定费用: 1. 创建见证节点:9999 TRX 2. 发行 TRC-10 token:1024 TRX 3. 创建新账户:0.1 TRX 4. 创建交换对:1024 TRX 5.2.4 交易作为权益证明(TaPoS)
TRON 使用 TaPoS 来确保交易全部确认主 blockchain,同时使其
难以伪造假冒链条。在 TaPoS 中,网络要求每笔交易都包含以下部分:
最近区块头的 hash 。此要求可防止交易重播
分叉不包括引用的块,并且还向网络发出信号,表明特定用户及其权益位于特定的分叉上。这种共识机制可以保护网络免受拒绝
服务,51%,自私挖矿,双花攻击。
5.2.5 交易确认
交易在广播到网络后包含在未来的区块中。 19个区块之后 在 TRON (包括其自己的区块)上开采,交易已确认。每个块都是由 循环赛方式中排名前27位的超级代表之一。每个区块大约需要 3 秒的时间 在 blockchain 上开采。由于网络原因,每个超级代表的时间可能略有不同 条件和机器配置。一般来说,交易在以下时间后才被视为完全确认: 〜1分钟。 5.2.6 结构
Transaction APIs consist of the following functions: message Transaction { message Contract { enum ContractType { AccountCreateContract = 0; // Create account/wallet TransferContract = 1; // Transfer TRX TransferAssetContract = 2; // Transfer TRC10 token VoteWitnessContract = 4; // Vote for Super Representative (SR) WitnessCreateContract = 5; // Create a new SR account AssetIssueContract = 6; // Create a new TRC10 token WitnessUpdateContract = 8; // Update SR information ParticipateAssetIssueContract = 9; // Purchase TRC10 token AccountUpdateContract = 10; // Update account/wallet information FreezeBalanceContract = 11; // Freeze TRX for bandwidth or energy UnfreezeBalanceContract = 12; // Unfreeze TRX WithdrawBalanceContract = 13; // Withdraw SR rewards, once per day UnfreezeAssetContract = 14; // Unfreeze TRC10 token UpdateAssetContract = 15; // Update a TRC10 token’s information ProposalCreateContract = 16; // Create a new network proposal by any SR ProposalApproveContract = 17; // SR votes yes for a network proposal ProposalDeleteContract = 18; // Delete a network proposal by owner CreateSmartContract = 30; // Deploy a new smart contract TriggerSmartContract = 31; // Call a function on a smart contract GetContract = 32; // Get an existing smart contract UpdateSettingContract = 33; // Update a smart contract’s parameters ExchangeCreateContract = 41; // Create a token trading pair on DEX ExchangeInjectContract = 42; // Inject funding into a trading pair
ExchangeWithdrawContract = 43; // Withdraw funding from a trading pair ExchangeTransactionContract = 44; // Perform token trading UpdateEnergyLimitContract = 45; // Update origin_energy_limit on a smart contract } } }
TRON 가상 머신
6.1 소개
TRON TVM(Virtual Machine)은 경량의 Turing 완전한 가상 머신입니다. TRON의 생태계. 그 목표는 효율적인 맞춤형 blockchain 시스템을 제공하는 것입니다. 편리하고 안정적이며 안전하고 확장 가능합니다.
TVM은 처음에 EVM에서 분기되었으며 기존 견고성 smart contract과 원활하게 연결할 수 있습니다. 11 개발 생태계. 이를 바탕으로 TVM은 DPoS 합의를 추가로 지원합니다.
TVM은 에너지라는 개념을 사용합니다. EVM의 가스 메커니즘과 다른 작동 방식은 다음과 같습니다. TVM의 거래 및 smart contract은 무료이며 TRX가 소비되지 않습니다. 기술적으로 실행 가능 TVM의 계산 용량은 총 보유량 tokens에 의해 제한되지 않습니다. 6.2 작업 흐름
컴파일러는 먼저 Solidity smart contract을 읽기 가능하고 실행 가능한 바이트 코드로 변환합니다. TVM. 그런 다음 TVM은 논리 연산과 동일한 opcode를 통해 데이터를 처리합니다. 스택 기반의 유한 상태 기계. 마지막으로 TVM은 blockchain 데이터에 액세스하고 상호 운용 계층을 통한 외부 데이터 인터페이스. 11 EVM: Ethereum 가상 머신(https://github.com/ethereum/ethereumj)

그림 3: TVM 워크플로
6.3 성능 6.3.1 경량 아키텍처
TVM은 리소스 소비를 줄이기 위해 경량 아키텍처를 채택합니다. 시스템 성능. 6.3.2 견고함
TRX 전송 및 smart contract 실행 비용 대역폭 포인트만 TRX 대신에 발생합니다. TRON을 공격으로부터 면제합니다. 대역폭 소비는 예측 가능하며 정적입니다. 계산 단계 비용은 고정되어 있습니다. 6.3.3 높은 호환성
TVM은 EVM과 호환되며 앞으로 더 많은 주류 VM과 호환될 예정입니다. 따라서 EVM의 모든 smart contract은 TVM에서 실행 가능합니다. 6.3.4 저렴한 비용
TVM의 대역폭 설정으로 인해 개발 비용이 절감되고 개발자는 개발에만 집중할 수 있습니다. 계약 코드의 논리 개발. TVM은 계약을 위한 올인원 인터페이스도 제공합니다. 배포, 트리거링 및 보기를 통해 개발자에게 편의성을 제공합니다.
TRON 虚拟机
6.1 简介
TRON 虚拟机(TVM)是一个轻量级的、图灵完备的虚拟机,为 TRON 的生态系统。其目标是提供一个高效、定制的 blockchain 系统。 方便、稳定、安全、可扩展。
TVM 最初从 EVM 分叉出来,可以与现有的 Solidity smart contract 无缝连接 11 发展生态系统。基于此,TVM还支持DPoS共识。
TVM 采用能量的概念。与 EVM 上的 Gas 机制不同, TVM 上的交易和 smart contract 是免费的,不消耗 TRX。技术上可行 TVM的计算能力不受tokens总持有量的限制。 6.2 工作流程
编译器首先将 Solidity smart contract 转换为可读且可执行的字节码 TVM。然后TVM通过opcode处理数据,相当于操作逻辑 基于堆栈的有限状态机。最后,TVM 访问 blockchain 数据并调用 通过互操作层的外部数据接口。 11 EVM: Ethereum 虚拟机 (https://github.com/ethereum/ethereumj)

图 3:TVM 工作流程
6.3 性能 6.3.1 轻量级架构
TVM采用轻量级架构,旨在减少资源消耗,保证 系统性能。 6.3.2 稳健
TRX 传输和 smart contract 执行仅消耗带宽点,而不是 TRX,这 使 TRON 免受攻击。带宽消耗是可预测的并且是静态的,因为每个 计算步骤成本是固定的。 6.3.3 高兼容性
TVM兼容EVM,未来将兼容更多主流VM。 因此,EVM 上的所有 smart contract 都可以在 TVM 上执行。 6.3.4 低成本
由于TVM的带宽设置,降低了开发成本,开发人员可以专注于 他们的合约代码的逻辑开发。 TVM 还为合约提供一体化接口 部署、触发、查看,为开发者提供便利。
스마트 계약
7.1 소개
smart contract은 계약 협상을 디지털 방식으로 검증하는 프로토콜입니다. 그들은 규칙을 정의하고 계약과 관련된 벌금을 부과하고 해당 의무를 자동으로 시행합니다. 똑똑한 계약 코드는 계약의 협상이나 이행을 촉진하고, 확인하고, 집행합니다. 거래. token화 관점에서 smart contract은 자동 자금 조달도 촉진합니다. 특정 기준이 충족되면 참여 당사자 간의 전송이 가능합니다.
TRON smart contract은 Solidity 언어로 작성되었습니다. 일단 작성되고 테스트되면 바이트코드로 컴파일된 다음 TRON 가상 머신용 TRON 네트워크에 배포됩니다. 한 번 배포된 경우 smart contract은 계약 주소를 통해 쿼리할 수 있습니다. 계약신청 ABI(바이너리 인터페이스)는 계약의 호출 기능을 표시하고 계약과 상호 작용하는 데 사용됩니다. 네트워크. 7.2 에너지 모델
smart contract 배포 및 트리거에 대한 최대 에너지 제한은 여러 가지 기능에 따라 달라집니다. 변수:
● 1 TRX 동결에 따른 동적 에너지는 50,000,000,000 (총 에너지 한도) / (총 에너지 무게) ● 에너지 한도는 TRX 동결로 인한 일일 계정 에너지 한도입니다. ● TRX 동결로 인해 남은 일일 계정 에너지는 에너지 한도 - 에너지로 계산됩니다. 중고 ● TRX의 수수료 한도는 smart contract 배포/트리거 호출에 설정되어 있습니다. ● 계정에 남은 사용 가능한 TRX ● 직접 구매한 경우 TRX당 에너지(10 SUN = 1 에너지) = 100,000, SR은 투표 가능 조정
배포를 위한 최대 에너지 한도를 계산하는 두 가지 소비 시나리오가 있습니다.
방아쇠. 논리는 다음과 같이 표현될 수 있습니다.
const R = Dynamic Energy Limit
const F = Daily account energy from freezing TRX
const E = Remaining daily account energy from freezing TRX
const L = Fee limit in TRX set in deploy/trigger call
const T = Remaining usable TRX in account
const C = Energy per TRX if purchased directly
// Calculate M, defined as maximum energy limit for deployment/trigger of smart contract if F > LR let M = min(E+TC, LR) else let M = E+TC 7.3 배포
TRON solidity smart contract이 컴파일되면 TRON 가상 머신은 컴파일된 내용을 읽습니다. 바이트코드. 바이트코드는 코드 배포, 계약 코드 및 Auxdata 섹션으로 구성됩니다. Auxdata는 검증에 사용되는 소스 코드의 암호화 지문입니다. 배포 바이트코드는 생성자 함수를 실행하고 초기 저장 변수를 설정합니다. 배포 code는 또한 계약 코드를 계산하여 TVM에 반환합니다. ABI는 JSON 파일입니다. TRON smart contract의 기능을 설명합니다. 이 파일은 함수 이름, 지불 가능성, 함수 반환 값 및 상태 변경 가능성. 7.4 트리거 기능
TRON smart contract이 배포되면 해당 기능은 다음 중 하나를 통해 개별적으로 트리거될 수 있습니다. TronStudio 또는 API 호출을 통해. 상태 변경 기능에는 에너지가 필요하지만 읽기 전용 기능에는 에너지가 필요합니다. 에너지 없이 실행합니다. 7.5 TRON 견고성
TRON Solidity는 Ethereum의 Solidity 언어에서 나온 포크입니다. TRON은 원본 프로젝트를 다음으로 수정합니다. TRX 및 SUN 단위를 지원합니다(1 TRX = 1,000,000 SUN). 나머지 언어 구문은 다음과 같습니다. Solidity ^0.4.24와 호환됩니다. 따라서 TVM(Tron Virtual Machine)은 거의 100% 호환됩니다. EVM 지침으로.
智能合约
7.1 简介
smart contract 是一种以数字方式验证合同协商的协议。他们定义规则并 与协议相关的处罚,并自动执行这些义务。聪明的 合同代码促进、验证和强制执行协议或协议的谈判或履行 交易。从 token 化的角度来看,smart contract 也有利于自动资金 参与方之间的转移应满足某些标准。
TRON smart contract 是用 Solidity 语言编写的。一旦编写并测试,它们就可以 编译为字节码,然后部署到 TRON 虚拟机的 TRON 网络上。曾经 部署后,可以通过合约地址查询smart contract。合同申请 二进制接口(ABI)显示了合约的调用函数,用于与合约进行交互 网络。 7.2 能量模型
部署和触发 smart contract 的最大能量限制是几个函数的函数 变量:
● 冻结1 TRX的动态能量为50,000,000,000(总能量限制)/(总能量 重量) ● 能量限额是账户每天冻结TRX的能量限额 ● 每日账户冻结TRX剩余能量计算为Energy Limit - Energy 二手 ● TRX 的费用限制在 smart contract 部署/触发调用中设置 ● 账户剩余可用TRX ● 如果直接购买,每个 TRX 的能量(10 SUN = 1 能量)= 100,000,SR 可以投票 调整
有两种消耗场景可以计算部署的最大能量限制和
触发。逻辑可以表达如下:
const R = Dynamic Energy Limit
const F = Daily account energy from freezing TRX
const E = Remaining daily account energy from freezing TRX
const L = Fee limit in TRX set in deploy/trigger call
const T = Remaining usable TRX in account
const C = Energy per TRX if purchased directly
// Calculate M, defined as maximum energy limit for deployment/trigger of smart contract if F > LR let M = min(E+TC, LR) else let M = E+TC 7.3 部署
当编译 TRON Solidity smart contract 时,TRON 虚拟机读取已编译的 字节码。字节码由代码部署、合约代码和辅助数据部分组成。 Auxdata 是源代码的加密指纹,用于验证。部署情况 字节码运行构造函数并设置初始存储变量。部署情况 code 还计算合约代码并将其返回给 TVM。 ABI 是一个 JSON 文件, 描述 TRON smart contract 的功能。该文件定义了函数名称、它们的可支付性、 函数返回值及其状态可变性。 7.4 触发功能
一旦部署了 TRON smart contract,它们的功能就可以通过以下方式单独触发: TronStudio 或通过 API 调用。状态改变功能需要能量,而只读功能 无需能量即可执行。 7.5 TRON 坚固性
TRON Solidity 是 Ethereum Solidity 语言的分支。 TRON 将原项目修改为 支持TRX和SUN单位(1 TRX = 1,000,000 SUN)。其余的语言语法是 与 Solidity ^0.4.24 兼容。因此 Tron 虚拟机 (TVM) 几乎 100% 兼容 带有 EVM 指令。
토큰
8.1 TRC-10 토큰
TRON 네트워크에서 각 계정은 1024 TRX를 희생하여 token을 발행할 수 있습니다. token을 발행하려면, 발행자는 token 이름, 총 자본금, TRX에 대한 환율, 순환 기간, 설명, 웹사이트, 계정당 최대 대역폭 소비, 총계 대역폭 소비 및 동결된 token 양. 각 token 발행은 또한 구성할 수 있습니다 각 계정의 일일 최대 token 전송 대역폭 포인트, 전체 네트워크의 일일 최대 token 전송 대역폭 포인트, 총 token 공급량, 잠금 기간(일) 및 총 금액 token 중 잠겼습니다. 8.2 TRC-20 토큰
TRC-20은 smart contract이 지원하는 token을 구현하는 데 사용되는 기술 표준입니다. TRON 가상 머신. ERC-20과 완벽하게 호환됩니다.
인터페이스는 다음과 같습니다:
계약 TRC20인터페이스 {
함수 totalSupply() 공개 상수 반환 (단위);
함수 balanceOf(주소 tokenOwner) 공개 상수 반환 (단위
균형);
함수 허용(주소 token소유자, 주소 지출자) 공용 상수
반환 (남은 단위);
기능 전송(주소, 단위 tokens) 공개 반환 (부울 성공);
기능 승인(주소 지출자, 단위 tokens) 공개 반환 (bool
성공);
함수 transferFrom(주소, 주소, 단위 tokens) 공개
반환 (부울 성공);
이벤트 전송(인덱스된 주소, 인덱싱된 주소, 단위 tokens);
이벤트 승인(주소 색인 tokenOwner, 주소 색인 지출자, 단위
tokens); }
개발자의 관점에서 볼 때 TRC-10과 TRC-20에는 몇 가지 차이점이 있습니다. 일부 주요 차이점 중 하나는 TRC-10 token은 API와 smart contract을 통해 액세스할 수 있다는 것입니다. TRC-20 token은 인터페이스 사용자 정의를 허용하지만 smart contract 내에서만 액세스할 수 있습니다.
비용 측면에서 TRC-10 token은 거래 수수료가 1000배 낮습니다.
TRC-20이지만 API 전송 및 예금에 대한 대역폭 비용이 발생합니다. 스마트로 이체 및 입금
TRC-10 token에 대한 계약에는 대역폭과 에너지 비용이 모두 듭니다.
8.3 너머
TRON은 Ethereum과 동일한 Solidity 버전을 사용하므로 더 많은 token 표준을 쉽게 사용할 수 있습니다. TRON로 이식되었습니다.
代币
8.1 TRC-10 代币
在TRON网络中,每个账户可以发行tokens,费用为1024 TRX。要发行 tokens, 发行人需要指定token名称、总资本、与TRX的汇率、 流通时长、描述、网站、每个账户最大带宽消耗、总计 带宽消耗和 token 冻结量。每个token发行还可以配置 每个账户每日最大token转账带宽点,全网每日最大 token 转移带宽积分、token 供应总量、锁定时长(天)以及总量 token 已锁定。 8.2 TRC-20 代币
TRC-20 是用于 smart contracts 实现 tokens 的技术标准,由 TRON 虚拟机。它与ERC-20完全兼容。
界面如下:
合约TRC20接口{
函数 totalSupply() 公共 常量 返回 (uint);
函数 balanceOf(地址tokenOwner)公共 常量 返回(uint
平衡);
功能 津贴(地址token所有者,地址支出者)公共 常量
返回(剩余 uint);
函数 传输(地址,uint tokens)public 返回(布尔成功);
函数 批准(地址支出者,uint tokens)公共 返回(bool
成功);
函数 transferFrom(地址来自,地址至,uint tokens)公共
返回(布尔成功);
事件 传输(索引地址,索引地址,uint tokens);
事件 批准(地址索引 tokenOwner,地址索引支出者,uint
tokens); }
从开发人员的角度来看,TRC-10 和 TRC-20 之间存在一些差异。一些 主要区别在于 TRC-10 token 可以通过 API 和 smart contract 访问,而 TRC-20 tokens 允许界面定制,但只能在 smart contracts 内访问。
从成本角度来看,TRC-10 token 的交易费用比
TRC-20,但会承担 API 传输和存款的带宽成本。智能转账和存款
TRC-10 token 的合约会消耗带宽和能源。
8.3 超越
由于 TRON 使用与 Ethereum 相同的 Solidity 版本,因此可以轻松创建更多 token 标准 移植到 TRON。
거버넌스
9.1 슈퍼대표 9.1.1 일반사항
TRON 네트워크의 모든 계정은 신청할 수 있으며 슈퍼가 될 수 있는 기회를 갖습니다. 대표자(SR로 표시). 누구나 SR 후보에게 투표할 수 있습니다. 상위 27명의 후보는 가장 많은 표를 얻은 사람이 블록을 생성할 권리와 의무를 가진 SR이 됩니다. 투표는 6시간마다 계산되며 이에 따라 SR이 변경됩니다.
악의적인 공격을 방지하기 위해 SR 후보가 되기 위해서는 비용이 발생합니다. 신청시 9999 TRX는 신청자의 계정에서 소각됩니다. 성공하면 해당 계정이 SR에 참여할 수 있습니다. 선거. 9.1.2 선거
TRON 투표에는 힘(TP로 표시)이 필요하며 TP의 양은 유권자의 선택에 따라 달라집니다. 동결자산(TRX).
TP는 다음과 같은 방식으로 계산됩니다.
TP
대역폭 확보를 위해 TRX 1개 동결
1
=
TRON 네트워크의 모든 계정은 자신의 SR에 투표할 권리가 있습니다.
출시 후(고정 해제, 3일 후 사용 가능) 사용자는 동결된 자산을 가지지 않으며 모두 잃게 됩니다. 그에 따라 TP. 결과적으로 모든 투표는 진행 중인 투표와 향후 투표 라운드에서 무효가 됩니다. TRX는 투표를 위해 다시 동결되었습니다.
TRON 네트워크는 가장 최근 투표만 기록합니다. 즉, 모든 새로운 투표는 이전 투표를 모두 무효화합니다. 9.1.3 보상 가. 투표 보상
후보자 보상이라고도 하며 상위 127명의 후보자가 라운드마다 한 번씩 업데이트됩니다(6
시간)은 채굴 시 115,200 TRX를 공유합니다. 보상은 투표 가중치에 따라 분할됩니다.
각 후보자는 받습니다. 매년 후보자의 총 보상은 168,192,000 TRX입니다.
라운드당 총 투표 보상
매 라운드마다 115,200 TRX가 필요한 이유는 무엇입니까?
15, 00 TRX
라운드당 총 투표 보상(V R/라운드)
1
2
=
V R/라운드 = 16 T RX/블록 × 20 블록/분 × 60분/시간 × 6시간/라운드
주의 사항: 이는 WITNESS_STANDBY_ALLOWANCE = 115,200 TRX로 설정됩니다. 동적 네트워크 매개변수를 참조하세요.
연간 총 투표 보상
왜 매년 168,192,000 TRX가 발생하나요?
168, 192, 000 T RX = 연간 총 투표 보상(V R/년)
V R/년 = 115, 200 T RX/회 × 4회/일 × 365일/년
b. 블록 보상
슈퍼 대표 보상이라고도 하며, 당선된 상위 27명의 후보자(SR)에게 지급됩니다.
매 라운드(6시간)마다 대략 230,400 TRX가 채굴됩니다. 보상은 균등하게 분배됩니다.
27개 SR 사이(네트워크 오류로 인해 놓친 총 보상 블록 제외) 총
336,384,000 TRX는 매년 27명의 SR에게 지급됩니다.
라운드당 총 블록 보상
왜 매 라운드마다 230,400 TRX가 필요합니까?
230, 400 T RX = 라운드당 총 블록 보상(BR/라운드)
BR/라운드 = 32 T RX/블록 × 20블록/분 × 60분/시간 × 6시간/라운드
주의 사항: 단위 블록 보상은 WITNESS_PAY_PER_BLOCK = 32 TRX로 설정됩니다. 동적 네트워크 보기
매개변수.
연간 총 블록 보상
왜 매년 336,384,000 TRX가 발생하나요?
336, 384, 000 T RX = 연간 총 블록 보상(BR/년)
BR/년 = 230, 400 T RX/라운드 × 4라운드/일 × 365일/년
2021년 1월 1일
2021년 1월 1일 이전에는 TRON 네트워크에 인플레이션이 없으며 TRON DAO은(는)
해당 날짜 이전에 모든 블록 보상과 후보 보상을 지급합니다.
기음. 보상 계산
SR 보상 계산
총 보상
투표 보상(V R)
블록 보상(BR)
티
=
+
R
총 VR
뷔
=
×
총 투표수
SR 후보가 받은 표 수
R
블록 놓침
2
비
=
27
총 BR -
× 3
참고: 보상은 라운드(6시간)당 SR별로 계산됩니다.
28위 ~ 127위 SR 후보 보상 계산 총 보상 투표 보상(V R) 티 =
R
총 VR
뷔
=
×
총 투표수
SR 후보가 받은 표 수
참고: 보상은 라운드(6시간)당 SR 후보자별로 계산됩니다.
9.2 위원회
9.2.1 일반사항
위원회는 블록 생성과 같은 TRON 동적 네트워크 매개변수를 수정하는 데 사용됩니다.
보상, 거래 수수료 등. 위원회는 현재 라운드의 27개 SR로 구성됩니다. 각 SR
제안에 대해 제안하고 투표할 권리가 있습니다. 제안이 19표 이상을 얻은 경우
승인되며 새로운 네트워크 매개변수는 다음 유지관리 기간(3일)에 적용됩니다.
9.2.2 동적 네트워크 매개변수
0.
MAINTENANCE_TIME_INTERVAL
가.
설명
유지 관리 간격 시간을 ms 단위로 수정합니다. SR 투표 간격 시간으로 알려져 있음
라운드.
비.
예
[6 * 3600 * 1000] ms - 6시간입니다.
기음.
범위
[3 * 27* 1000, 24 * 3600 * 1000] ms
1.
ACCOUNT_UPGRADE_COST
가.
설명
SR 계좌 신청 비용을 수정합니다.
비.
예
[9,999,000,000] SUN - 9,999 TRX입니다.
기음.
범위
[0,100 000 000 000 000 000] 일
2.
CREATE_ACCOUNT_FEE
가.
설명
계정 생성 수수료를 수정하세요.비.
예
[100,000] SUN - 1 TRX입니다.
기음.
범위
[0,100 000 000 000 000 000] 일
3.
TRANSACTION_FEE
가.
설명
추가 대역폭을 얻기 위해 사용되는 수수료 금액을 수정합니다.
비.
예
[10] SUN/바이트.
기음.
범위
[0,100 000 000 000 000 000] SUN/바이트
4.
ASSET_ISSUE_FEE
가.
설명
자산 발행 수수료를 수정합니다.
비.
예
[1024,000,000] SUN - 1024 TRX입니다.
기음.
범위
[0,100 000 000 000 000 000] 일
5.
WITNESS_PAY_PER_BLOCK
가.
설명
SR 블록 생성 보상을 수정합니다. 단위 블록 보상으로 알려져 있습니다.
비.
예
[32,000,000] SUN - 32 TRX입니다.
기음.
범위
[0,100 000 000 000 000 000] 일
6.
WITNESS_STANDBY_ALLOWANCE
가.
설명
상위 127명의 SR 후보자에게 제공되는 보상을 수정합니다. 총 투표 보상으로 알려져 있음
라운드당.
비.
예
[115,200,000,000] SUN - 115,200 TRX입니다.
기음.
범위
[0,100 000 000 000 000 000] 일
7.
CREATE_NEW_ACCOUNT_FEE_IN_SYSTEM_CONTRACT
가.
설명
계정 생성 비용을 수정합니다. 동적 네트워크 매개변수 #8을 결합하여 다음을 얻습니다.
총 계정 생성 비용:
REATE_NEW_ACCOUNT_FEE_IN_SY STEM_CONTRACT
REATE_NEW_ACCOUNT_BANDWIDTH_RATE
C
×C
b. 예 [0] 일요일. 기음. 범위 [0,100 000 000 000 000 000] 일 8. CREATE_NEW_ACCOUNT_BANDWIDTH_RATE
가.
설명
계정 생성 비용을 수정합니다. 동적 네트워크 매개변수 #7을 결합하여 다음을 얻습니다.
총 계정 생성 비용:
REATE_NEW_ACCOUNT_FEE_IN_SY STEM_CONTRACT
REATE_NEW_ACCOUNT_BANDWIDTH_RATE
C
×C
b. 예 [1]. 기음. 범위 [0,100,000,000,000,000,000] 9. ALLOW_CREATION_OF_CONTRACTS 가. 설명 TVM(Tron Virtual Machine)을 켜려면 비. 예 True - 2018년 10월 10일 23:47 UTC부터 활성화되고 적용되도록 설정되었습니다. 기음. 범위 참/거짓 10. REMOVE_THE_POWER_OF_THE_GR 가. 설명 초기 GR 제네시스 투표 제거 b. 예 사실 - 2018년 11월 4일 08:46 UTC에 적용되었습니다. 기음. 범위 True/False - 참고: True에서 False로 다시 설정할 수 없습니다. 11. 에너지 요금 가. 설명 1 에너지의 수수료를 수정합니다. 비. 예 20일 기음. 범위 [0,100 000 000 000 000 000] 일 12. EXCHANGE_CREATE_FEE 가. 설명 거래 쌍 생성 비용을 수정합니다. 거래 주문 생성 비용으로 알려져 있습니다. 비. 예 [1,024,000,000] SUN - 1024 TRX입니다. 기음. 범위 [0,100 000 000 000 000 000] 일 13. MAX_CPU_TIME_OF_ONE_TX 가. 설명 한 트랜잭션의 최대 실행 시간을 수정합니다. 시간 초과 제한으로 알려져 있습니다. 하나의 거래. 비. 예 50ms 기음. 범위
[0, 1000]밀리초
14. ALLOW_UPDATE_ACCOUNT_NAME
가.
설명
계정이 계정 이름을 업데이트할 수 있도록 옵션을 수정합니다.
비.
예
False - java-tron Odyssey v3.2에서 제안할 수 있습니다.
기음.
범위
True/False - 참고: True에서 False로 다시 설정할 수 없습니다.
15. ALLOW_SAME_TOKEN_NAME
가.
설명
다른 token이 중복된 이름을 가질 수 있도록 유효성 검사를 수정합니다.
비.
예
False - java-tron Odyssey v3.2에서 제안할 수 있습니다.
기음.
범위
True/False - 참고: True에서 False로 다시 설정할 수 없습니다.
16. ALLOW_DELEGATE_RESOURCE
가.
설명
중복된 이름으로 token을 발행할 수 있도록 검증을 수정하여
긴 정수 데이터 유형의 token 중 tokenID는 유일한 원자입니다.
token의 식별입니다.
비.
예
False - java-tron Odyssey v3.2에서 제안할 수 있습니다.
기음.
범위
True/False - 참고: True에서 False로 다시 설정할 수 없습니다.
17. TOTAL_ENERGY_LIMIT
가.
설명
전체 네트워크 총 에너지 제한을 수정합니다.
비.
예
[50,000,000,000,000,000] SUN - 50,000,000,000 TRX입니다.
기음.
범위
[0,100,000,000,000,000,000] 일
18. ALLOW_TVM_TRANSFER_TRC10
가.
설명
smart contract초 내에 TRC-10 token 전송을 허용합니다.
ALLOW_UPDATE_ACCOUNT_NAME, ALLOW_SAME_TOKEN_NAME,
ALLOW_DELEGATE_RESOURCE 제안은 제안하기 전에 모두 승인되어야 합니다.
이 매개변수 변경.
비.
예
False - java-tron Odyssey v3.2에서 제안할 수 있습니다.
기음.
범위
True/False - 참고: True에서 False로 다시 설정할 수 없습니다.9.2.3 제안서 작성
SR 계정만이 동적 네트워크 매개변수의 변경을 제안할 수 있는 권한을 갖습니다. 9.2.4 투표 제안
위원회 구성원(SR)만이 제안에 투표할 수 있으며 기한 내에 투표하지 않은 구성원은 동의하지 않는 것으로 간주됩니다. 제안서는 생성된 후 3일 동안 활성화됩니다. 투표는 할 수 있다 3일 투표 기간 동안 변경하거나 검색할 수 있습니다. 기간이 종료되면 제안서는 다음과 같습니다. 성공(19표 이상)하거나 실패(및 종료)합니다. 9.2.5 제안 취소
제안자는 제안이 발효되기 전에 제안을 취소할 수 있습니다. 9.3 구조
SR은 새로 생성된 블록의 증인입니다. 감시에는 8개의 매개변수가 포함됩니다.
1.
주소: 이 증인의 주소 – 예: 0xu82h…7237.
2.
voteCount: 이 증인에 대해 받은 투표 수 – 예: 234234.
3.
pubKey: 이 증인의 공개 키 – 예: 0xu82h…7237.
4.
url: 이 증인의 URL – 예: https://www.noonetrust.com.
5.
totalProduced: 이 증인이 생성한 블록 수 – 예: 2434.
6.
totalMissed: 이 증인이 놓친 블록 수 – 예: 7.
7.
latestBlockNum: 블록의 최신 높이 – 예: 4522.
8.
isjobs: 부울 플래그입니다.
프로토부프 데이터 구조:
메시지 증인{
바이트 주소 = 1;
int64 voteCount = 2;
바이트 pubKey = 3;
문자열 url = 4;
int64 totalProduced = 5;
int64 totalMissed = 6;
int64 최신BlockNum = 7;
bool isJobs = 8;
}
- DApp 개발 10.1 API
TRON 네트워크는 60개 이상의 HTTP API 게이트웨이와 상호 작용할 수 있는 다양한 선택 항목을 제공합니다. Full 및 Solidity 노드를 통한 네트워크. 또한 TronWeb은 포괄적인 JavaScript 라이브러리입니다. 개발자가 smart contract을 배포할 수 있도록 하는 API 기능이 포함되어 있으면 blockchain을 변경하세요. 상태, blockchain 및 계약 정보 쿼리, DEX 거래 등을 할 수 있습니다. 이러한 API 게이트웨이는 로컬 프라이빗넷, Shasta 테스트넷 또는 TRON 메인넷으로 연결될 수 있습니다.
10.2 네트워크
TRON에는 Shasta 테스트넷과 메인넷이 모두 있습니다. 개발자는 다음을 통해 네트워크에 연결할 수 있습니다.
노드 배포, TronStudio를 통한 상호 작용 또는 TronGrid 서비스를 통한 API 사용. 트론그리드
서비스는 전 세계 AWS 서버에서 호스팅되는 로드 밸런싱된 노드 클러스터로 구성됩니다. DApp으로
개발 규모가 확장되고 API 호출량이 증가함에 따라 TronGrid는 증가하는 양을 성공적으로 처리했습니다.
API 트래픽.
10.3 도구
TRON은 개발자가 혁신적인 DApp을 만들 수 있도록 지원하는 개발 도구 모음을 제공합니다.
TronBox는 개발자가 TronWeb을 통해 smart contract을 테스트하고 배포할 수 있는 프레임워크입니다.
API. TronGrid는 개발자가
TRON 자체 노드를 실행할 필요 없이 네트워크를 사용할 수 있습니다. TronGrid는 Shasta와
테스트넷과 TRON 메인넷. TronStudio는 포괄적인 통합 개발입니다.
개발자가 Solidity를 스마트하게 컴파일, 배포 및 디버깅할 수 있는 환경(IDE)
계약. TronStudio에는 개인 로컬 환경을 생성하는 내부 전체 노드가 포함되어 있습니다.
smart contract 배포 전 테스트. TronWeb API 라이브러리는 개발자를
JavaScript로 래핑된 다양한 HTTP API 호출을 통해 네트워크에 연결됩니다.
10.4 자원
TRON 개발자 허브는 다음에 맞춰진 포괄적인 API 문서 사이트입니다. 12 TRON 네트워크를 구축하려는 개발자. 개발자 허브는 높은 수준의 TRON에 대한 개념적 이해를 제공하고 사용자에게 12 개발자 허브: https://developers.tron.network/
네트워크. 가이드는 개발자에게 노드 설정, 배포 및 스마트와의 상호 작용을 안내합니다.
계약, API 상호 작용 및 구현, 샘플 DApp 구축 및 각 기능 사용
개발자 도구. 또한 개발자 커뮤니티 채널은 Discord를 통해 제공됩니다.
13
13 불화: https://discordapp.com/invite/GsRgsTD
- 결론
TRON은(는) 혁신적인 방법을 사용하여 문제를 해결한 확장 가능한 blockchain 솔루션입니다. 레거시 blockchain 네트워크가 직면한 문제. 일일 거래 건수 200만건 돌파, 700,000개 이상의 TRX 계정을 보유하고 2000개가 넘는 TPS을 보유한 TRON은(는) 커뮤니티를 활성화했습니다. 분산화되고 민주화된 네트워크를 구축합니다.
治理
9.1 超级代表 9.1.1 概述
TRON 网络中的每个帐户都可以申请并有机会成为超级会员 代表(记为SR)。每个人都可以投票给 SR 候选人。前 27 名候选人 得票最多的将成为具有生成区块权利和义务的SR。票数为 每 6 小时计算一次,SR 会相应变化。
为了防止恶意攻击,成为 SR 候选者需要付出一定的成本。申请时,9999 TRX将从申请人的账户中销毁。成功后,该账户即可加入SR 选举。 9.1.2 选举
TRON 投票需要Power(记为TP),TP的数量取决于投票者的投票权 冻结资产(TRX)。
TP的计算方法如下:
TP
冻结 1 TRX 以获得带宽
1
=
TRON 网络中的每个帐户都有权为自己的 SR 投票。
发布后(解冻,3天后可用),用户不会有任何冻结的资产,并失去所有 相应地TP。因此,所有投票对于当前和未来的投票轮均无效,除非 TRX再次被冻结投票。
请注意,TRON 网络仅记录最近的投票,这意味着每一次新投票 将否定之前所有的投票。 9.1.3 奖励 a.投票奖励
也称为候选人奖励,前 127 名候选人每轮更新一次(6
小时)将分享开采的 115,200 TRX。奖励将按照投票权重进行瓜分
每位候选人都会收到。每年,候选人的总奖励为168,192,000 TRX。
每轮总投票奖励
为什么每轮 115,200 TRX?
15, 00 TRX
每轮总投票奖励(V R/轮)
1
2
=
VR/轮 = 16 T RX/块 × 20 块/分钟 × 60 分钟/小时 × 6 小时/轮
注意:这是由 WITNESS_STANDBY_ALLOWANCE = 115,200 TRX 设置的。请参阅动态网络参数。
每年总投票奖励
为什么每年168,192,000 TRX?
168, 192, 000 T RX = 每年总投票奖励(VR/年)
VR/年 = 115, 200 T RX/轮 × 4 轮/天 × 365 天/年
b.区块奖励
也称为超级代表奖励,当选的前27名候选人(SR)
每轮(6小时)将分享大约230,400个已开采的TRX。奖励将平分
27 个 SR 之间(减去由于网络错误而错过的总奖励块)。总共有
每年将向 27 名 SR 奖励 336,384,000 TRX。
每轮总区块奖励
为什么每轮 230,400 TRX?
230, 400 T RX = 每轮总区块奖励(BR/轮)
BR/轮 = 32 T RX/块 × 20 块/分钟 × 60 分钟/小时 × 6 小时/轮
注意:单位区块奖励由 WITNESS_PAY_PER_BLOCK = 32 TRX 设置。查看动态网络
参数。
每年的总区块奖励
为什么每年有 336,384,000 TRX?
336, 384, 000 T RX = 每年总区块奖励(BR/年)
BR/年 = 230, 400 T RX/轮 × 4 轮/天 × 365 天/年
2021 年 1 月 1 日
2021 年 1 月 1 日之前 TRON 网络不会出现通货膨胀,TRON DAO 将
在此日期之前授予所有区块奖励和候选人奖励。
c.奖励计算
SR奖励计算
总奖励
投票奖励(VR)
区块奖励(BR)
t
=
+
右
总VR
V
=
×
总票数
SR 候选人收到的票数
右
块错过了
2
乙
=
27 号
总BR -
× 3
注:奖励按每轮(6小时)SR计算
排名28~排名127 SR候选人奖励计算 总奖励 投票奖励(VR) t =
右
总VR
V
=
×
总票数
SR 候选人收到的票数
注:奖励按每个SR候选人每轮(6小时)计算
9.2 委员会
9.2.1 概述
该委员会用于修改TRON动态网络参数,例如区块生成
奖励、交易费用等。委员会由本轮27名SR组成。每个SR
拥有提案权和对提案的表决权。当一项提案获得 19 票或以上时,
批准后,新的网络参数将在下一个维护周期(3天)内应用。
9.2.2 动态网络参数
0。
MAINTENANCE_TIME_INTERVAL
a.
描述
修改维护间隔时间(以毫秒为单位)。称为 SR 投票间隔时间
圆形。
b.
示例
[6 * 3600 * 1000] 毫秒 - 即 6 小时。
c.
范围
[3271000, 2436001000] 毫秒
1.
ACCOUNT_UPGRADE_COST
a.
描述
修改申请SR账户的费用。
b.
示例
[9,999,000,000] SUN - 即 9,999 TRX。
c.
范围
[0,100 000 000 000 000 000] 太阳
2.
CREATE_ACCOUNT_FEE
a.
描述
修改账户创建费用。b.
示例
[100,000] SUN - 1 TRX。
c.
范围
[0,100 000 000 000 000 000] 太阳
3.
交易费
a.
描述
修改用于获得额外带宽的费用金额。
b.
示例
[10] 太阳/字节。
c.
范围
[0,100 000 000 000 000 000] SUN/字节
4.
ASSET_ISSUE_FEE
a.
描述
修改资产发行费用。
b.
示例
[1024,000,000] SUN - 即 1024 TRX。
c.
范围
[0,100 000 000 000 000 000] 太阳
5.
WITNESS_PAY_PER_BLOCK
a.
描述
修改SR区块生成奖励。称为单位区块奖励。
b.
示例
[32,000,000] SUN - 即 32 TRX。
c.
范围
[0,100 000 000 000 000 000] 太阳
6.
WITNESS_STANDBY_ALLOWANCE
a.
描述
修改前127名SR候选人的奖励。称为总投票奖励
每轮。
b.
示例
[115,200,000,000] SUN - 115,200 TRX。
c.
范围
[0,100 000 000 000 000 000] 太阳
7.
CREATE_NEW_ACCOUNT_FEE_IN_SYSTEM_CONTRACT
a.
描述
修改帐户创建成本。结合动态网络参数#8得到
帐户创建总成本:
REATE_NEW_ACCOUNT_FEE_IN_SYSTEM_CONTRACT
REATE_NEW_ACCOUNT_BANDWIDTH_RATE
C
× C
b. 示例 [0] 周日。 c. 范围 [0,100 000 000 000 000 000] 太阳 8. CREATE_NEW_ACCOUNT_BANDWIDTH_RATE
a.
描述
修改帐户创建成本。结合动态网络参数#7得到
帐户创建总成本:
REATE_NEW_ACCOUNT_FEE_IN_SYSTEM_CONTRACT
REATE_NEW_ACCOUNT_BANDWIDTH_RATE
C
× C
b. 示例 [1]。 c. 范围 [0,100,000,000,000,000,000] 9. 允许创建合同 a. 描述 打开 Tron 虚拟机 (TVM)。 b. 示例 True - 设置为自 10/10/2018 23:47 UTC 起激活并生效。 c. 范围 对/错 10. 删除_THE_POWER_OF_THE_GR a. 描述 删除最初的 GR 创世投票 b. 示例 正确 - 于 11/4/2018 08:46 UTC 生效。 c. 范围 True/False - 注意:不能从 True 设置回 False。 11.能源费 a. 描述 修改1能量的费用。 b. 示例 20 日。 c. 范围 [0,100 000 000 000 000 000] 太阳 12. EXCHANGE_CREATE_FEE a. 描述 修改交易对创建成本。称为创建贸易订单的成本。 b. 示例 [1,024,000,000] SUN - 即 1024 TRX。 c. 范围 [0,100 000 000 000 000 000] 太阳 13. MAX_CPU_TIME_OF_ONE_TX a. 描述 修改一笔交易的最大执行时间。称为超时限制 一笔交易。 b. 示例 50 毫秒 c. 范围
[0, 1000] 毫秒
14.ALLOW_UPDATE_ACCOUNT_NAME
a.
描述
修改选项以让帐户更新其帐户名。
b.
示例
False - 可从 java-tron Odyssey v3.2 中提出。
c.
范围
True/False - 注意:不能从 True 设置回 False。
15.ALLOW_SAME_TOKEN_NAME
a.
描述
修改允许不同token有重复名称的验证。
b.
示例
False - 可从 java-tron Odyssey v3.2 中提出。
c.
范围
True/False - 注意:不能从 True 设置回 False。
16. ALLOW_DELEGATE_RESOURCE
a.
描述
修改允许签发 token 重名的验证,这样
token 的 tokenID,在长整数数据类型中,将是唯一的原子
token 的标识。
b.
示例
False - 可从 java-tron Odyssey v3.2 中提出。
c.
范围
True/False - 注意:不能从 True 设置回 False。
17. TOTAL_ENERGY_LIMIT
a.
描述
修改全网总能量限制。
b.
示例
[50,000,000,000,000,000] SUN - 即 50,000,000,000 TRX。
c.
范围
[0,100,000,000,000,000,000] 太阳
18. ALLOW_TVM_TRANSFER_TRC10
a.
描述
允许在 smart contract 秒内传输 TRC-10 token。
ALLOW_UPDATE_ACCOUNT_NAME、ALLOW_SAME_TOKEN_NAME、
ALLOW_DELEGATE_RESOURCE 提案必须在提案前全部获得批准
这个参数改变。
b.
示例
False - 可从 java-tron Odyssey v3.2 中提出。
c.
范围
True/False - 注意:不能从 True 设置回 False。9.2.3 创建提案
只有 SR 账户才有权提议更改动态网络参数。 9.2.4 投票提案
只有委员会成员 (SR) 才能对提案进行投票,未及时投票的成员 将被视为不同意。提案创建后 3 天内有效。投票可以 在 3 天的投票窗口内可以更改或检索。期限结束后,该提案将 要么成功(19票以上),要么失败(结束)。 9.2.5 取消提案
提案人可以在提案生效前取消提案。 9.3 结构
SR 是新生成区块的见证人。见证人包含8个参数:
1.
地址:该证人的地址 – 例如0xu82h…7237。
2.
voteCount:收到的对该见证人的投票数 – 例如234234。
3.
pubKey:该见证人的公钥 - 例如0xu82h…7237。
4.
url:该证人的 url – 例如https://www.noonetrust.com.
5.
TotalProduced:该见证人生成的区块数量 – 例如2434.
6.
TotalMissed:该见证人错过的区块数量 – 例如7.
7.
latestBlockNum:区块的最新高度 – 例如4522.
8.
isjobs:布尔标志。
Protobuf数据结构:
留言见证{
字节地址 = 1;
int64 voteCount = 2;
字节 pubKey = 3;
字符串 url = 4;
int64 总生产量 = 5;
int64 总丢失数 = 6;
int64latestBlockNum = 7;
布尔 isJobs = 8;
}
10.DApp开发 10.1 API
TRON 网络提供了 60 多个 HTTP API 网关的广泛选择,用于与 通过完整节点和 Solidity 节点的网络。此外,TronWeb 是一个综合性的 JavaScript 库 包含使开发人员能够部署 smart contracts 的 API 函数,更改 blockchain 状态、查询 blockchain 和合约信息、在 DEX 上进行交易等等。这些API 网关可以定向到本地私有网、Shasta 测试网或 TRON 主网。
10.2 网络
TRON 既有 Shasta 测试网又有主网。开发人员可以通过以下方式连接到网络
部署节点、通过 TronStudio 交互或通过 TronGrid 服务使用 API。特隆网格
服务由托管在全球 AWS 服务器上的负载均衡节点集群组成。作为DApp
开发规模扩大,API 调用量增加,TronGrid 成功应对了
API 流量。
10.3 工具
TRON 提供了一套开发工具,使开发人员能够创建创新的 DApp。
TronBox 是一个允许开发人员通过 TronWeb 测试和部署 smart contracts 的框架
API。 TronGrid 是一个负载平衡和托管的 API 服务,允许开发人员访问
TRON 网络无需运行自己的节点。 TronGrid 提供对 Shasta 的访问
测试网以及 TRON 主网。 TronStudio是一个综合性的集成开发
使开发人员能够编译、部署和调试 Solidity smart 的环境 (IDE)
合同。 TronStudio 包含一个内部完整节点,可创建私有本地环境
smart contract 在部署之前进行测试。 TronWeb API 库将开发人员连接到
网络通过封装在 JavaScript 中的多种 HTTP API 调用进行选择。
10.4 资源
TRON 开发人员中心是一个综合性 API 文档网站,专为 12 希望在 TRON 网络上进行开发的开发人员。开发者中心提供了高水平的 TRON 的概念性理解,并引导用户完成与 TRON 交互的细节 12 开发者中心:https://developers.tron.network/
网络。该指南引导开发人员完成节点设置、部署以及与智能交互
合约、API 交互和实现、构建示例 DApp 以及使用每个
开发者工具。此外,还可以通过 Discord 获得开发者社区渠道。
13
13 不和谐:https://discordapp.com/invite/GsRgsTD
- 结论
TRON 是一个可扩展的 blockchain 解决方案,采用创新方法来解决 传统 blockchain 网络面临的挑战。每日交易量已超过 200 万笔, 拥有超过 70 万个 TRX 账户,超过 2000 个 TPS、TRON 使社区能够 创建一个去中心化和民主化的网络。