ورقة عمل ترون

TRON Whitepaper v2.0

بقلم Justin Sun · 2017

Introduction

Introduction

1.1 Vision

TRON is an ambitious project dedicated to the establishment of a truly decentralized Internet and its infrastructure. The TRON Protocol, one of the largest blockchain-based operating systems in the world, offers public blockchain support of high throughput, high scalability, and high availability for all Decentralized Applications (DApps) in the TRON ecosystem. The July 2018 acquisition of BitTorrent further cemented TRON’s leadership in pursuing a decentralized ecosystem.
1.2 Background

The introduction of Bitcoin in 2009 revolutionized society’s perception of the traditional financial system in the wake of the Great Recession (2007-2008). As centralized hedge funds and banks collapsed from speculation in opaque financial derivatives, blockchain technology provided a transparent universal ledger from which anybody could glean transaction information. The transactions were cryptographically secured using a Proof of Work (PoW) consensus mechanism, thus preventing double spend issues.

In late 2013, the Ethereum white paper proposed a network in which smart contracts and a Turing-complete Ethereum Virtual Machine (EVM) would allow developers to interact with the network through DApps. However, as transaction volumes in Bitcoin and Ethereum peaked in 2017, it was apparent from the low transaction throughput times and high transaction fees that cryptocurrencies like Bitcoin and Ethereum in their existing state were not scalable for widespread adoption. Thus, TRON was founded and envisioned as an innovative solution to these pressing scalability challenges.

TRON development roadmap phase 1 timeline from July 2017 to June 2018

1.3 History The TRON DAO was established in July 2017 in Singapore. In December 2017, TRON had launched its open source protocol. The Testnet, Blockchain Explorer, and Web Wallet were all launched by March 2018. TRON Mainnet launched shortly afterward in May 2018, marking the Odyssey 2.0 release as a technical milestone. In June 2018, TRON declared its independence with the creation of the Genesis block, along with the July 2018 acquisition of BitTorrent. In October 2018, TRON launched the TRON Virtual Machine (TVM), a complete developers’ toolset, and 360 support system. The TRON roadmap involves combining BitTorrent’s 100 million users with the TRON network via Project Atlas, as well as fostering the developer community to launch exciting new DApps on the TRON network1. 1 V1.0 is available at https://tron.network/static/doc/white_paper_v_1_0.pdf

TRON development roadmap phase 2 timeline from July 2018 to 2019

1.4 Terminology

Address/Wallet An address or wallet consisting of account credentials on the TRON network are generated by a key pair, which consists of a private key and a public key, the latter being derived from the former through an algorithm. The public key is usually used for session key encryption, signature verification, and encrypting data that could be decrypted by a corresponding private key.

ABI An application binary interface (ABI) is an interface between two binary program modules; usually one of these modules is a library or an operating system facility, and the other is a user run program.

API An application programming interface (API) is mainly used for user clients development. With API support, token issuance platforms can also be designed by developers themselves.

Asset In TRON's documents, asset is the same as token, which is also denoted as TRC-10 token.

Bandwidth Points (BP) To keep the network operating smoothly, TRON network transactions use BP as fuel. Each account gets 5000 free daily BP and more can be obtained by freezing TRX for BP. Both TRX and TRC-10 token transfers are normal transactions costing BP. Smart contract deployment and execution transactions consume both BP and Energy.

Block Blocks contain the digital records of transactions. A complete block consists of the magic number, block size, block header, transaction counter, and transaction data.

Block Reward Block production rewards are sent to a sub-account (address/wallet). Super Representatives can claim their rewards on Tronscan or through the API directly.

Block Header A block header is part of a block. TRON block headers contain the previous block’s hash, the Merkle root, timestamp, version, and witness address.

Cold Wallet Cold wallet, also known as offline wallet, keeps the private key completely disconnected from any network. Cold wallets are usually installed on "cold" devices (e.g. computers or mobile phones staying offline) to ensure the security of TRX private key.

DApp Decentralized Application is an App that operates without a centrally trusted party. An application that enables direct interaction/agreements/communication between end users and/or resources without a middleman.

gRPC gRPC (gRPC Remote Procedure Calls) is an open source remote procedure call (RPC) system 2 initially developed at Google. It uses HTTP/2 for transport, Protocol Buffers as the interface description language, and provides features such as authentication, bidirectional streaming and flow control, blocking or nonblocking bindings, and cancellation and timeouts. It generates cross-platform client and server bindings for many languages. Most common usage scenarios include connecting services in microservices style architecture and connecting mobile devices, and browser clients to backend services.

Hot Wallet Hot wallet, also known as online wallet, allows user's private key to be used online, thus it could be susceptible to potential vulnerabilities or interception by malicious actors.

JDK Java Development Kit is the Java SDK used for Java applications. It is the core of Java development, comprising the Java application environment (JVM+Java class library) and Java tools.

KhaosDB TRON has a KhaosDB in the full-node memory that can store all the newly-forked chains generated within a certain period of time and supports witnesses to switch from their own active chain swiftly into a new main chain. See 2.2.2 State Storage for more details.

LevelDB LevelDB was initially adopted with the primary goal to meet the requirements of fast R/W and rapid development. After launching the Mainnet, TRON upgraded its database to an entirely customized one catered to its very own needs. See 2.2.1 Blockchain Storage for more details.

Merkle Root A Merkle root is the hash of all hashes of all transactions included as part of a block in a blockchain network. See 3.1 Delegated Proof of Stake (DPoS) for more details. 2 https://en.wikipedia.org/wiki/GRPC

Public Testnet (Shasta) A version of the network running in a single-node configuration. Developers can connect and test features without worrying about the economic loss. Testnet tokens have no value and anyone can request more from the public faucet.

RPC
3 In distributed computing, a remote procedure call (RPC) is when a computer program causes a procedure (subroutine) to execute in a different address space (commonly on another computer on a shared network), which is coded as if it were a normal (local) procedure call, without the programmer explicitly coding the details for the remote interaction.

Scalability Scalability is a feature of the TRON Protocol. It is the capability of a system, network, or process to handle a growing amount of work or its potential to be enlarged to accommodate that growth.

SUN SUN replaced drop as the smallest unit of TRX. 1 TRX = 1,000,000 SUN.

Throughput High throughput is a feature of TRON Mainnet. It is measured in Transactions Per Second (TPS), namely the maximum transaction capacity in one second.

Timestamp The approximate time of block production is recorded as Unix timestamp, which is the number of milliseconds that have elapsed since 00:00:00 01 Jan 1970 UTC.

TKC Token configuration.

TRC-10 A standard of crypto token on TRON platform. Certain rules and interfaces are required to follow when holding an initial coin offering on TRON blockchain.

TRX TRX stands for Tronix, which is the official cryptocurrency of TRON.

3 https://en.wikipedia.org/wiki/Remote_procedure_call

مقدمة

1.1 الرؤية

TRON هو مشروع طموح مخصص لإنشاء شبكة إنترنت لامركزية حقًا وملحقاتها البنية التحتية. بروتوكول TRON، أحد أكبر أنظمة التشغيل المعتمدة على blockchain في العالم العالم، يقدم دعمًا عامًا blockchain للإنتاجية العالية وقابلية التوسع العالية والتوافر العالي لـ جميع التطبيقات اللامركزية (DApps) في النظام البيئي TRON. الاستحواذ في يوليو 2018 على عزز BitTorrent أيضًا قيادة TRON في متابعة النظام البيئي اللامركزي.
1.2 الخلفية

أحدث إدخال Bitcoin في عام 2009 ثورة في تصور المجتمع للأنظمة المالية التقليدية النظام في أعقاب الركود الكبير (2007-2008). مثل صناديق التحوط والبنوك المركزية انهارت من المضاربة في المشتقات المالية الغامضة، قدمت التكنولوجيا blockchain أ دفتر أستاذ عالمي شفاف يمكن لأي شخص أن يحصل منه على معلومات المعاملات. ال تم تأمين المعاملات بشكل مشفر باستخدام آلية إجماع إثبات العمل (PoW)، وبالتالي منع مشاكل الإنفاق المزدوج.

في أواخر عام 2013، اقترحت الورقة البيضاء Ethereum شبكة فيها smart contracts وa Turing-Complete Ethereum Virtual Machine (EVM) سيسمح للمطورين بالتفاعل مع الشبكة من خلال DApps. ومع ذلك، نظرًا لأن أحجام المعاملات في Bitcoin وEthereum بلغت ذروتها في عام 2017، كان واضحًا من خلال أوقات إنتاجية المعاملات المنخفضة وارتفاع رسوم المعاملات العملات المشفرة مثل Bitcoin وEthereum في حالتها الحالية لم تكن قابلة للتوسع على نطاق واسع التبني. وهكذا، تم تأسيس TRON وتصورها كحل مبتكر لهذه المشاكل الملحة تحديات قابلية التوسع.

TRON development roadmap phase 1 timeline from July 2017 to June 2018

1.3 التاريخ تم إنشاء TRON DAO في يوليو 2017 في سنغافورة. في ديسمبر 2017، TRON كان أطلقت بروتوكولها مفتوح المصدر. كانت كل من Testnet وBlockchain Explorer وWeb Wallet كلها تم إطلاقها بحلول مارس 2018. TRON تم إطلاق الشبكة الرئيسية بعد فترة وجيزة في مايو 2018، بمناسبة إصدار Odyssey 2.0 يمثل إنجازًا تقنيًا. في يونيو 2018، أعلنت TRON استقلالها مع إنشاء كتلة Genesis، إلى جانب الاستحواذ على BitTorrent في يوليو 2018. في في أكتوبر 2018، أطلقت TRON TRON Virtual Machine (TVM)، وهي مجموعة أدوات كاملة للمطورين، ونظام دعم 360. تتضمن خارطة الطريق TRON الجمع بين 100 مليون مستخدم لـ BitTorrent مع شبكة TRON عبر Project Atlas، بالإضافة إلى تعزيز مجتمع المطورين لإطلاقه تطبيقات DApps جديدة ومثيرة على شبكة TRON1. 1 V1.0 متاح في https://tron.network/static/doc/white_paper_v_1_0.pdf

1.4 المصطلحات

العنوان/المحفظة يتم إنشاء عنوان أو محفظة تتكون من بيانات اعتماد الحساب على شبكة TRON بواسطة زوج المفاتيح، والذي يتكون من مفتاح خاص ومفتاح عام، والأخير مشتق من الأول من خلال خوارزمية. يُستخدم المفتاح العام عادةً لتشفير مفتاح الجلسة والتوقيع التحقق وتشفير البيانات التي يمكن فك تشفيرها بواسطة مفتاح خاص مطابق.

أبي الواجهة الثنائية للتطبيق (ABI) هي واجهة بين وحدتين للبرنامج الثنائي؛ عادة إحدى هذه الوحدات عبارة عن مكتبة أو مرفق نظام تشغيل، والأخرى عبارة عن مستخدم برنامج.

واجهة برمجة التطبيقات تُستخدم واجهة برمجة التطبيقات (API) بشكل أساسي لتطوير عملاء المستخدمين. مع واجهة برمجة التطبيقات الدعم، token يمكن أيضًا تصميم منصات الإصدار بواسطة المطورين أنفسهم.

الأصول في مستندات TRON، الأصل هو نفسه token، والذي يُشار إليه أيضًا باسم TRC-10 token.

نقاط عرض النطاق الترددي (BP) للحفاظ على عمل الشبكة بسلاسة، تستخدم معاملات الشبكة TRON BP كوقود. كل حساب تحصل على 5000 نقطة قوة يومية مجانية ويمكن الحصول على المزيد عن طريق تجميد TRX مقابل BP. كل من TRX وTRC-10 token التحويلات عبارة عن معاملات عادية تكلف BP. نشر العقود الذكية وتنفيذها تستهلك المعاملات كلا من BP والطاقة.

كتلة تحتوي الكتل على السجلات الرقمية للمعاملات. كتلة كاملة تتكون من الرقم السحري، حجم الكتلة ورأس الكتلة وعداد المعاملات وبيانات المعاملة.

مكافأة الكتلة يتم إرسال مكافآت إنتاج الكتلة إلى حساب فرعي (العنوان/المحفظة). يمكن للممثلين السوبر احصل على مكافآتهم على Tronscan أو من خلال API مباشرة.

رأس الكتلة رأس الكتلة هو جزء من الكتلة. تحتوي رؤوس الكتلة TRON على hash للكتلة السابقة، جذر Merkle والطابع الزمني والإصدار وعنوان الشاهد.المحفظة الباردة المحفظة الباردة، المعروفة أيضًا باسم المحفظة غير المتصلة بالإنترنت، تحافظ على فصل المفتاح الخاص تمامًا عن أي شيء شبكة. عادةً ما يتم تثبيت المحافظ الباردة على الأجهزة "الباردة" (مثل أجهزة الكمبيوتر أو الهواتف المحمولة البقاء دون اتصال بالإنترنت) لضمان أمان مفتاح TRX الخاص.

التطبيق اللامركزي التطبيق اللامركزي هو تطبيق يعمل بدون طرف موثوق به مركزيًا. تطبيق التي تمكن التفاعل/الاتفاقيات/الاتصال المباشر بين المستخدمين النهائيين و/أو الموارد بدون وسيط.

جي آر بي سي gRPC (استدعاءات الإجراءات عن بعد gRPC) هو نظام مفتوح المصدر لاستدعاء الإجراءات عن بعد (RPC). 2 تم تطويره في البداية في Google. ويستخدم HTTP/2 للنقل، ومخازن البروتوكول المؤقتة كواجهة لغة الوصف، وتوفر ميزات مثل المصادقة والتدفق ثنائي الاتجاه والتدفق التحكم، أو الحظر أو عدم الحظر، والإلغاء والمهلات. إنه يولد روابط العميل والخادم عبر الأنظمة الأساسية للعديد من اللغات. سيناريوهات الاستخدام الأكثر شيوعًا تضمين خدمات الاتصال في بنية نمط الخدمات الصغيرة وتوصيل الأجهزة المحمولة، و عملاء المتصفح إلى الخدمات الخلفية.

المحفظة الساخنة تتيح المحفظة الساخنة، والمعروفة أيضًا باسم المحفظة عبر الإنترنت، استخدام المفتاح الخاص للمستخدم عبر الإنترنت، وهذا هو الحال عرضة لنقاط الضعف المحتملة أو الاعتراض من قبل الجهات الخبيثة.

JDK Java Development Kit هي Java SDK المستخدمة لتطبيقات Java. إنه جوهر جافا التطوير، الذي يشتمل على بيئة تطبيقات Java (JVM+مكتبة فئة Java) وJava أدوات.

خاوس دي بي يحتوي TRON على KhaosDB في ذاكرة العقدة الكاملة التي يمكنها تخزين جميع السلاسل المتشعبة حديثًا التي تم إنشاؤها خلال فترة زمنية معينة ويساعد الشهود على التحول من السلسلة النشطة الخاصة بهم بسرعة إلى سلسلة رئيسية جديدة. راجع 2.2.2 تخزين الحالة لمزيد من التفاصيل.

مستوىDB تم اعتماد LevelDB في البداية بهدف أساسي هو تلبية متطلبات R/W السريعة والسريعة تطوير. بعد إطلاق الشبكة الرئيسية، قام TRON بترقية قاعدة بياناته إلى قاعدة بيانات مخصصة بالكامل واحد يلبي احتياجاته الخاصة. راجع 2.2.1 تخزين Blockchain لمزيد من التفاصيل.

جذر ميركل جذر Merkle هو hash لجميع hashes لجميع المعاملات المضمنة كجزء من كتلة في blockchain شبكة. راجع 3.1 إثبات الحصة المفوضة (DPoS) لمزيد من التفاصيل. 2 https://en.wikipedia.org/wiki/GRPC

TRON development roadmap phase 2 timeline from July 2018 to 2019

شبكة الاختبار العامة (شاستا) نسخة من الشبكة تعمل بتكوين عقدة واحدة. يمكن للمطورين الاتصال والاختبار الميزات دون القلق بشأن الخسارة الاقتصادية. ليس لـ Testnet tokens أي قيمة ويمكن لأي شخص أن يفعل ذلك اطلب المزيد من الصنبور العام.

RPC
3 في الحوسبة الموزعة، يتم استدعاء الإجراء عن بعد (RPC) عندما يتسبب برنامج كمبيوتر في حدوث خطأ إجراء (إجراء فرعي) يتم تنفيذه في مساحة عنوان مختلفة (عادةً على كمبيوتر آخر شبكة مشتركة)، والتي يتم ترميزها كما لو كانت استدعاء إجراء عادي (محلي)، بدون يقوم المبرمج بترميز تفاصيل التفاعل عن بعد بشكل صريح.

قابلية التوسع تعد قابلية التوسع إحدى ميزات بروتوكول TRON. إنها قدرة النظام أو الشبكة أو العملية على القيام بذلك التعامل مع كمية متزايدة من العمل أو إمكانية توسيعها لاستيعاب هذا النمو.

شمس حلت SUN محل القطرة كأصغر وحدة من TRX. 1 TRX = 1,000,000 شمس.

الإنتاجية تعد الإنتاجية العالية إحدى ميزات TRON Mainnet. يتم قياسه بالمعاملات في الثانية (TPS)، وهي الحد الأقصى لسعة المعاملة في ثانية واحدة.

الطابع الزمني يتم تسجيل الوقت التقريبي لإنتاج الكتلة كطابع زمني لنظام Unix، وهو عدد مللي ثانية انقضت منذ 00:00:00 01 يناير 1970 بالتوقيت العالمي المنسق.

TKC تكوين الرمز المميز.

لجنة الحقيقة والمصالحة-10 معيار التشفير token على منصة TRON. يجب اتباع قواعد وواجهات معينة عند الاحتفاظ بعرض أولي للعملة على TRON blockchain.

تي آر إكس TRX تعني Tronix، وهي العملة المشفرة الرسمية لـ TRON.

3 https://en.wikipedia.org/wiki/Remote_procedure_call

Architecture

Architecture

TRON adopts a 3-layer architecture divided into Storage Layer, Core Layer, and Application Layer. The TRON protocol adheres to Google Protobuf, which intrinsically supports multi-language extension.

TRON three-layer architecture diagram showing Application Layer Core Layer and Storage Layer

Figure 1: TRON 3-layer Architecture

2.1 Core

There are several modules in the core layer, including smart contracts, account management, and consensus. A stack-based virtual machine is implemented on TRON and an optimized instruction set is used. In order to better support DApp developers, Solidity was chosen as the smart contract 4 language, followed by future support of other advanced languages. In addition, TRON's consensus mechanism is based on Delegated Proof of Stake (DPoS) and many innovations were made in order to meet its unique requirements. 2.2 Storage

TRON designed a unique distributed storage protocol consisting of Block Storage and State Storage. The notion of a graph database was introduced into the design of the storage layer to better meet the need for diversified data storage in the real world. 2.2.1 Blockchain Storage

TRON blockchain storage chooses to use LevelDB, which is developed by Google and proven successful with many companies and projects. It has high performance and supports arbitrary byte arrays as both keys and values, singular get, put and delete, batched put and delete, bi-directional iterators, and simple compression using the very fast Snappy algorithm. 2.2.2 State Storage

TRON has a KhaosDB in the full-node memory that can store all the newly forked chains generated within a certain period of time and supports witnesses to switch from their own active chain swiftly into a new main chain. It can also protect blockchain storage by making it more stable from being terminating abnormally in an intermediate state. 2.3 Application

Developers can create a diverse range of DApps and customized wallets on TRON. Since TRON enables smart contracts to be deployed and executed, the opportunities of utility applications are unlimited. 4 Solidity official documentation: https://solidity.readthedocs.io/

2.4 Protocol

TRON protocol adheres to Google Protocol Buffers , which is a language-neutral, platform-neutral, 5 and extensible way of serializing structured data for use in communications protocols, data storage, and more. 2.4.1 Protocol Buffers

Protocol Buffers (Protobuf) is a flexible, efficient, automated mechanism for serializing structured data, similar to JSON or XML, but much smaller, faster and simpler.

Protobuf (.proto) definitions can be used to generate code for C++, Java, C#, Python, Ruby, Golang, and Objective-C languages through the official code generators. Various third-party implementations are also available for many other languages. Protobuf eases development for clients by unifying the API definitions and also optimizing data transfers. Clients can take the API .proto from TRON’s protocol repository and integrate through the automatically-generated code libraries.

As a comparison, Protocol Buffers is 3 to 10 times smaller and 20 to 100 times faster than XML, with less ambiguous syntax. Protobuf generates data access classes that are easier to use programmatically. 2.4.2 HTTP

TRON Protocol provides a RESTful HTTP API alternative to the Protobuf API. They share the same interface but the HTTP API can be readily used in javascript clients. 2.5 TRON Virtual Machine (TVM)

The TVM is a lightweight, Turing complete virtual machine developed for TRON’s ecosystem. The TVM connects seamlessly with the existing development ecosystem to provide millions of global developers with a custom-built blockchain system that is efficient, convenient, stable, secure, and scalable.
2.6 Decentralized Exchange (DEX)

5 Google Protocol Buffers official documentation: https://developers.google.com/protocol-buffers/

The TRON network natively supports decentralized exchange functions. A decentralized exchange consists of multiple trading pairs. A trading pair (notation “Exchange”) is an Exchange Market between TRC-10 tokens, or between a TRC-10 token and TRX. Any account can create a trading pair between any tokens, even if the same pair already exists on the TRON network. Trading and price fluctuations of the trading pairs follow the Bancor Protocol . The TRON network stipulates that 6 the weights of the two tokens in all trading pairs are equal, so the ratio of their balances is the price between them. For example, consider a trading pair containing two tokens, ABC and DEF. ABC has a balance of 10 million and DEF has a balance of 1 million. Since their weights are equal, 10 ABC = 1 DEF. This means that the ratio of ABC to DEF is 10 ABC per DEF. 2.7 Implementation

The TRON blockchain code is implemented in Java and was originally a fork from EthereumJ.

6 Bancor Protocol official website: https://about.bancor.network/protocol/

بنيان

TRON يعتمد بنية ثلاثية الطبقات مقسمة إلى طبقة التخزين، والطبقة الأساسية، وطبقة التطبيق. يلتزم بروتوكول TRON بـ Google Protobuf، الذي يدعم بشكل جوهري تعدد اللغات التمديد.

TRON three-layer architecture diagram showing Application Layer Core Layer and Storage Layer

الشكل 1: TRON بنية ثلاثية الطبقات

2.1 الأساسية

هناك عدة وحدات في الطبقة الأساسية، بما في ذلك smart contracts، وإدارة الحساب، و الإجماع. يتم تنفيذ الجهاز الظاهري القائم على المكدس على TRON وتعليمات محسنة يتم استخدام مجموعة. من أجل تقديم دعم أفضل لمطوري التطبيقات اللامركزية، تم اختيار 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. منذ TRON تمكن من نشر وتنفيذ smart contracts، وفرص تطبيقات المرافق هي غير محدود. 4 وثائق الصلابة الرسمية: 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 من خلال مولدات الأكواد الرسمية. مختلف طرف ثالث التطبيقات متاحة أيضًا للعديد من اللغات الأخرى. Protobuf يسهل تطوير العملاء من خلال توحيد تعريفات API وتحسين عمليات نقل البيانات أيضًا. يمكن للعملاء الحصول على API .proto من مستودع بروتوكول TRON ودمجه من خلال الكود الذي تم إنشاؤه تلقائيًا المكتبات.

وعلى سبيل المقارنة، فإن المخازن المؤقتة للبروتوكول أصغر من 3 إلى 10 مرات وأسرع من 20 إلى 100 مرة من XML، مع بناء جملة أقل غموضا. يقوم Protobuf بإنشاء فئات الوصول إلى البيانات التي تكون أسهل في الاستخدام برمجيا. 2.4.2 HTTP

يوفر البروتوكول TRON بديل RESTful HTTP API لواجهة Protobuf API. إنهم يتشاركون نفس الشيء واجهة ولكن يمكن استخدام HTTP API بسهولة في عملاء جافا سكريبت. 2.5 TRON الجهاز الظاهري (TVM)

جهاز TVM عبارة عن آلة افتراضية خفيفة الوزن ومتكاملة من طراز Turing تم تطويرها من أجل النظام البيئي لـ TRON. ال يتصل TVM بسلاسة مع النظام البيئي التطويري الحالي لتوفير الملايين من الخدمات العالمية المطورين باستخدام نظام blockchain مصمم خصيصًا يتسم بالكفاءة والراحة والثبات والأمان قابلة للتطوير.
2.6 التبادل اللامركزي (DEX)

5 الوثائق الرسمية لمخازن بروتوكول Google المؤقتة: https://developers.google.com/protocol-buffers/تدعم شبكة TRON أصلاً وظائف التبادل اللامركزي. التبادل اللامركزي يتكون من أزواج تداول متعددة. زوج التداول (يُشار إليه بـ "البورصة") هو سوق تبادل بين TRC-10 tokens، أو بين TRC-10 token وTRX. يمكن لأي حساب إنشاء تداول اقتران بين أي tokens، حتى لو كان نفس الزوج موجودًا بالفعل على شبكة TRON. التداول و تتبع تقلبات أسعار أزواج التداول بروتوكول Bancor. تنص شبكة TRON على ذلك 6 أوزان الثنائي token في جميع أزواج التداول متساوية، وبالتالي فإن نسبة أرصدتهما هي السعر بينهما. على سبيل المثال، فكر في زوج تداول يحتوي على اثنين من tokens، ABC وDEF. ABC لديها رصيد 10 ملايين وDEF لديه رصيد 1 مليون. وبما أن الأوزان متساوية، 10 ABC = 1 دفاع. وهذا يعني أن نسبة ABC إلى DEF هي 10 ABC لكل DEF. 2.7 التنفيذ

تم تنفيذ الكود TRON blockchain في Java وكان في الأصل شوكة من EthereumJ.

6 الموقع الرسمي لبروتوكول بانكور: https://about.bancor.network/protocol/

Consensus

Consensus

3.1 Delegated Proof of Stake (DPoS)

The earliest consensus mechanism is the Proof of Work (PoW) consensus mechanism. This protocol is currently implemented in Bitcoin and Ethereum . In PoW systems, transactions 7 8 broadcast through the network are grouped together into nascent blocks for miner confirmation. The confirmation process involves hashing transactions using cryptographic hashing algorithms until a merkle root has been reached, creating a merkle tree:

Figure 2: 8 TRX transactions are hashed into the merkle root. This merkle root is then included in the block header, which is attached to the previously confirmed blocks to form a blockchain. This allows for easy and transparent tracking of transactions, timestamps, and other related information.

7 Bitcoin whitepaper: https://bitcoin.org/bitcoin.pdf 8 Ethereum whitepaper: https://github.com/ethereum/wiki/wiki/White-Paper

Cryptographic hashing algorithms are useful in network attack prevention because they possess several properties :
9

● Input/Output length size​ - The algorithm can pass in an input of any length in size, and outputs a fixed length hash value.
● Efficiency​ - The algorithm is relatively easy and fast to compute.
● Preimage resistance​ - For a given output ​z​, it is impossible to find any input ​x​ such that h(x) =​ ​z​. In other words, the hashing algorithm ​h(x)​ is a one-way function in which only the output can be found, given an input. The reverse is not possible.
● Collision resistance​ - It is computationally infeasible to find any pairs \(x_1 \neq x_2\) such that \(h(x_1) = h(x_2)\). In other words, the probability of finding two different inputs hashing to the same output is extremely low. This property also implies ​second preimage resistance​.
● Second preimage resistance​ - Given ​x​1​, and thus ​h(x​1​)​, it is computationally infeasible to find any ​x​2​ such that ​h(x​1​) = h(x​2​)​. While this property is similar to ​collision resistance​, the property differs in that it is saying an attacker with a given ​x​1​ will find it computationally infeasible to find any ​x​2​ hashing to the same output.
● Deterministic​ - maps each input to one and only one output. ● Avalanche effect​ - a small change in the input results in an entirely different output.

These properties give the cryptocurrency network its intrinsic value by ensuring attacks do not compromise the network. When miners confirm a block, they are rewarded tokens as a built-in incentive for network participation. However, as the global cryptocurrency market capitalization steadily increased, the miners became centralized and focused their computing resources on hoarding tokens as assets, rather than for network participation purposes. CPU miners gave way to GPUs, which in turn gave way to powerful ASICs. In one notable study, the total power consumption of Bitcoin mining has been estimated to be as high as 3 GW , comparable to Ireland’s 10 power consumption. This same study projected total power consumption to reach 8 GW in the near future.

To solve the energy waste issue, the Proof of Stake (PoS) consensus mechanism was proposed by many new networks. In PoS networks, token holders lock their token balances to become block validators. The validators take turns proposing and voting on the next block. However, the problem with standard PoS is that validator influence correlates directly to the amount of tokens locked up. This results in parties hoarding large amounts of the network’s base currency wielding undue influence in the network ecosystem.

The TRON consensus mechanism uses an innovative Delegated Proof of Stake system in which 27 Super Representatives (SRs) produce blocks for the network. Every 6 hours, TRX account holders who freeze their accounts can vote for a selection of SR candidates, with the top 27 candidates deemed the SRs. Voters may choose SRs based on criteria such as projects sponsored by SRs to 9 PAAR, C., PELZL, J., ​Understanding Cryptography: A Textbook for Students and Practitioners​, 2010 ed. Springer-Verlag Berlin Heidelberg, 2010.
10 https://www.sciencedirect.com/science/article/pii/S2542435118301776

increase TRX adoption, and rewards distributed to voters. This allows for a more democratized and decentralized ecosystem. SRs’ accounts are normal accounts, but their accumulation of votes allows them to produce blocks. With the low throughput rates of Bitcoin and Ethereum due to their PoW consensus mechanism and scalability issues, TRON’s DPoS system offers an innovative mechanism resulting in 2000 TPS compared to Bitcoin’s 3 TPS and Ethereum’s 15 TPS.

The TRON protocol network generates one block every three seconds, with each block awarding 32 TRX to Super Representatives. A total of 336,384,000 TRX will be awarded annually to the 27 SRs. Each time an SR finishes block production, rewards are sent to a sub-account in the super-ledger. SRs can check, but not directly make use of these TRX tokens. A withdrawal can be made by each SR once every 24 hours, transferring the rewards from the sub-account to the specified SR account.

The three types of nodes on the TRON network are Witness Node, Full Node, and Solidity Node. Witness nodes are set up by SRs and are mainly responsible for block production and proposal creation/voting. Full nodes provide APIs and broadcast transactions and blocks. Solidity nodes sync blocks from other Full Nodes and also provide indexable APIs.

إجماع

3.1 إثبات الحصة المفوضة (DPoS)

أقرب آلية إجماع هي آلية إجماع إثبات العمل (PoW). هذا يتم تنفيذ البروتوكول حاليًا في Bitcoin وEthereum. في أنظمة إثبات العمل، المعاملات 7 8 يتم تجميع البث عبر الشبكة معًا في كتل ناشئة لتأكيد عامل التعدين. ال تتضمن عملية التأكيد hashing المعاملات باستخدام خوارزميات التشفير hashing حتى تم الوصول إلى جذر Merkle، مما يؤدي إلى إنشاء شجرة Merkle:

الشكل 2: تم تحويل 8 معاملات TRX إلى hash في جذر Merkle. يتم بعد ذلك تضمين جذر Merkle هذا في رأس الكتلة، والذي يتم إرفاقه بالكتل المؤكدة مسبقًا لتكوين blockchain. وهذا يسمح بتتبع سهل وشفاف المعاملات والطوابع الزمنية والمعلومات الأخرى ذات الصلة.

7 Bitcoin المستند التقني: https://bitcoin.org/bitcoin.pdf 8 Ethereum المستند التقني: https://github.com/ethereum/wiki/wiki/White-Paper

تعد خوارزميات التشفير hashing مفيدة في منع هجمات الشبكة لأنها تمتلكها عدة خصائص :
9

● حجم طول الإدخال/الإخراج - يمكن للخوارزمية تمرير إدخال بأي طول في الحجم، و يُخرج قيمة ذات طول ثابت hash.
● الكفاءة - الخوارزمية سهلة نسبيًا وسريعة الحساب.
● مقاومة الصورة المسبقة - بالنسبة لمخرج معين z، من المستحيل العثور على أي مدخل x من هذا القبيل ح(س) = ض. بمعنى آخر، خوارزمية hashing ​h(x)​ هي دالة أحادية الاتجاه حيث يكون فقط يمكن العثور على الإخراج، نظرا للمدخلات. والعكس غير ممكن.
● مقاومة الاصطدام - من غير الممكن حسابيًا العثور على أي أزواج x​1 ​≠ x​2​ ​مثل ​h(x​1​) = ح(س2​)​. بمعنى آخر، احتمال العثور على مدخلين مختلفين hash لنفس الشيء الإخراج منخفض للغاية. تتضمن هذه الخاصية أيضًا مقاومة الصورة الأولية الثانية.
● المقاومة الأولية للصورة الثانية - بالنظر إلى x1، وبالتالي h(x​1​)​، فمن غير الممكن حسابيًا ابحث عن أي ​x​2​ بحيث ​h(x​1​) = h(x​2​)​. في حين أن هذه الخاصية تشبه مقاومة الاصطدام، فإن تختلف الخاصية من حيث أنها تقول أن المهاجم الذي لديه x1 سيجدها حسابيًا من غير الممكن العثور على أي ​x​2​ hashing لنفس الإخراج.
● الحتمية - تقوم بتعيين كل إدخال إلى مخرج واحد فقط. ● Avalanche التأثير​ - تغيير بسيط في المدخلات يؤدي إلى مخرجات مختلفة تمامًا.

تمنح هذه الخصائص شبكة العملات المشفرة قيمتها الجوهرية من خلال ضمان عدم حدوث هجمات تعريض الشبكة للخطر. عندما يؤكد القائمون بالتعدين على الكتلة، تتم مكافأتهم tokens كقطعة مدمجة حافز للمشاركة في الشبكة. ومع ذلك، فإن القيمة السوقية للعملات المشفرة العالمية ومع زيادة مطردة، أصبح عمال المناجم مركزيين وركزوا مواردهم الحاسوبية عليها اكتناز tokens كأصول، وليس لأغراض المشاركة في الشبكة. أعطى عمال المناجم وحدة المعالجة المركزية الطريق ل وحدات معالجة الرسومات، والتي بدورها أفسحت المجال لشرائح ASIC القوية. في إحدى الدراسات البارزة، القوة الإجمالية تم تقدير استهلاك Bitcoin للتعدين بما يصل إلى 3 جيجاوات ، مقارنة باستهلاك أيرلندا 10 استهلاك الطاقة. وتوقعت هذه الدراسة نفسها أن يصل إجمالي استهلاك الطاقة إلى 8 جيجاوات في القريب العاجل المستقبل.

لحل مشكلة هدر الطاقة، تم اقتراح آلية توافق الآراء لإثبات الحصة (PoS). العديد من الشبكات الجديدة. في شبكات إثبات الحصة (PoS)، يقوم أصحاب token بقفل أرصدة token الخاصة بهم لتصبح محظورة validators. يتناوب validators في الاقتراح والتصويت على الكتلة التالية. ومع ذلك، المشكلة مع PoS القياسي هو أن تأثير validator يرتبط مباشرة بكمية tokens المقفلة. ويؤدي هذا إلى قيام الأطراف بتخزين كميات كبيرة من العملة الأساسية للشبكة دون مبرر التأثير في النظام البيئي للشبكة.

تستخدم آلية الإجماع TRON نظامًا مبتكرًا لإثبات الحصة المفوضة حيث 27 يقوم الممثلون المتميزون (SRs) بإنتاج كتل للشبكة. كل 6 ساعات، لأصحاب حسابات TRX ويمكن لمن يجمد حساباته التصويت لمجموعة مختارة من مرشحي SR، على أن يكون المرشحون الـ 27 الأوائل يعتبر SRs. يمكن للناخبين اختيار ممثلين SR بناءً على معايير مثل المشاريع التي يرعاها ممثلو SR 9 PAAR, C., PELZL, J.، فهم التشفير: كتاب مدرسي للطلاب والممارسين، طبعة 2010. سبرينغر-فيرلاغ برلين هايدلبرغ، 2010.
10 https://www.sciencedirect.com/science/article/pii/S2542435118301776زيادة اعتماد TRX وتوزيع المكافآت على الناخبين. وهذا يسمح لمزيد من الديمقراطية و النظام البيئي اللامركزي. حسابات SR هي حسابات عادية، ولكن تراكم الأصوات يسمح لهم بإنتاج الكتل. مع معدلات الإنتاجية المنخفضة Bitcoin وEthereum نظرًا لهما آلية إجماع إثبات العمل (PoW) ومشكلات قابلية التوسع، يقدم نظام DPoS الخاص بـ DPoS حلاً مبتكرًا الآلية الناتجة عن 2000 TPS مقارنة بـ Bitcoin 3 TPS و Ethereum 15 TPS.

تقوم شبكة البروتوكول TRON بإنشاء كتلة واحدة كل ثلاث ثوانٍ، مع منح كل كتلة 32 TRX إلى الممثلين المتميزين. سيتم منح إجمالي 336,384,000 TRX سنويًا إلى 27 ريالًا سعوديًا. في كل مرة ينتهي فيها SR من إنتاج الكتلة، يتم إرسال المكافآت إلى حساب فرعي في دفتر الأستاذ الفائق. يمكن لممثلي SR التحقق من TRX tokens هذه، ولكن لا يمكنهم الاستفادة منها بشكل مباشر. ويمكن إجراء الانسحاب من قبل كل منهما ريال مرة واحدة كل 24 ساعة، مع تحويل المكافآت من الحساب الفرعي إلى الريال المحدد حساب.

الأنواع الثلاثة للعقد على شبكة TRON هي عقدة الشاهد، والعقدة الكاملة، وعقدة الصلابة. يتم إعداد العقد الشاهدة بواسطة SRs وتكون مسؤولة بشكل أساسي عن إنتاج الكتل واقتراحها الخلق / التصويت. توفر العقد الكاملة واجهات برمجة التطبيقات ومعاملات البث والكتل. مزامنة العقد الصلبة كتل من العقد الكاملة الأخرى وتوفر أيضًا واجهات برمجة التطبيقات القابلة للفهرسة.

Account

Account

4.1 Types

The three types of accounts in the TRON network are regular accounts, token accounts, and contract accounts.

1. Regular accounts are used for standard transactions.
2. Token accounts are used for storing TRC-10 tokens.
3. Contract accounts are smart contract accounts created by regular accounts and can be triggered by regular accounts as well. 4.2 Creation

There are three ways to create a TRON account:

1. Create a new account through API 2. Transfer TRX into a new account address 3. Transfer any TRC-10 token into a new account address

An offline key-pair consisting of an address (public key) and a private key, and not recorded by the TRON network, can also be generated. The user address generation algorithm consists of generating a key-pair and then extracting the public key (64-byte byte array representing x, y coordinates). Hash the public key using the SHA3-256 function (the SHA3 protocol adopted is KECCAK-256) and extract the last 20 bytes of the result. Add 41 to the beginning of the byte array and ensure the initial address length is 21 bytes. Hash the address twice using SHA3-256 function and take the first 4 bytes as verification code. Add the verification code to the end of the initial address and obtain the address in base58check format through base58 encoding. An encoded Mainnet address begins with T and is 34 bytes in length. 4.3 Structure

The three different account types are Normal, AssetIssue, and Contract. An Account contains 7 parameters:

1. account_name​: the name for this account – e.g. BillsAccount.
2. type​: what type of this account is – e.g. 0 (stands for type ‘Normal’).
3. balance​: balance of this account – e.g. 4213312.

4. vote​: received votes on this account – e.g. {(“0x1b7w…9xj3”,323), (“0x8djq…j12m”,88),…,(“0x82nd…mx6i”,10001)}.
5. asset​: other assets expected TRX in this account – e.g. {<“WishToken”, 66666>, <”Dogie”, 233>}. 6. latest_operation_time​: the latest operation time of this account.

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. تتكون خوارزمية إنشاء عنوان المستخدم من إنشاء زوج مفاتيح ثم استخراج المفتاح العام (صفيف بايت 64 بايت يمثل x، y الإحداثيات). قم بتجزئة المفتاح العام باستخدام وظيفة SHA3-256 (بروتوكول SHA3 المعتمد هو KECCAK-256) واستخرج آخر 20 بايت من النتيجة. أضف 41 إلى بداية صفيف البايت وتأكد من أن طول العنوان الأولي هو 21 بايت. قم بتجزئة العنوان مرتين باستخدام وظيفة SHA3-256 وأخذ أول 4 بايت كرمز التحقق. أضف رمز التحقق إلى نهاية الأولي العنوان واحصل على العنوان بتنسيق base58check من خلال تشفير base58. مشفرة يبدأ عنوان الشبكة الرئيسية بحرف 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. last_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​; }

Block

Block

A block typically contains a block header and several transactions.

Protobuf data structure: message​ ​Block​ {
BlockHeader block_header = ​1​; ​repeated​ Transaction transactions = ​2​; } 5.1 Block Header

A block header contains ​raw_data​, ​witness_signature​, and ​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 Raw Data

Raw data is denoted as ​raw_data​ in Protobuf. It contains the raw data of a message, containing 6 parameters:

1. timestamp​: timestamp of this message – e.g. 1543884429000. 2. txTrieRoot​: the Merkle Tree’s Root – e.g. 7dacsa…3ed. 3. parentHash​: the hash of the last block – e.g. 7dacsa…3ed. 4. number​: the block height – e.g. 4638708. 5. version​: reserved – e​.g. 5.

Block header and Merkle tree structure showing how TRX transactions are hashed into the Merkle root

6. witness_address​: the address of the witness packed in this block – e.g. 41928c...4d21. 5.1.2 Witness Signature

Witness signature is denoted as ​witness_signature​ in Protobuf, which is the signature for this block header from the witness node. 5.1.3 Block ID

Block ID is denoted as ​blockID​ in Protobuf. It contains the atomic identification of a block. A Block ID contains 2 parameters: 1. hash​: the hash of block. 2. number​: the hash and height of the block. 5.2 Transaction 5.2.1 Signing

TRON’s transaction signing process follows a standard ECDSA cryptographic algorithm, with a SECP256K1 selection curve. A private key is a random number, and the public key is a point on the elliptic curve. The public key generation process consists of first generating a random number as a private key, and then multiplying the base point of the elliptic curve by the private key to obtain the public key. When a transaction occurs, the transaction raw data is first converted into byte format. The raw data then undergoes SHA-256 hashing. The private key corresponding to the contract address then signs the result of the SHA256 hash. The signature result is then added to the transaction.
5.2.2 Bandwidth Model

Ordinary transactions only consume bandwidth points, but smart contract operations consume both energy and bandwidth points. There are two types of bandwidth points available. Users can gain bandwidth points from freezing TRX, while 5000 free bandwidth points are also available daily.

When a TRX transaction is broadcast, it is transmitted and stored in the form of a byte array over the network. Bandwidth Points consumed by one transaction = number of transaction bytes multiplied by bandwidth points rate. For example, if the byte array length of a transaction is 200, then the transaction consumes 200 bandwidth points. However, if a TRX or token transfer results in the target account being created, then only the bandwidth points consumed to create the account will be deducted, and additional bandwidth points will not be deducted. In an account creation scenario, the network will first consume the bandwidth points that the transaction initiator gained

from freezing TRX. If this amount is insufficient, then the network consumes the transaction initiator’s TRX.

In standard TRX transfer scenarios from one TRX account to another, the network first consumes the bandwidth points gained by the transaction initiator for freezing TRX. If that is insufficient, it then consumes from the free 5000 daily bandwidth points. If that is still not enough, then the network consumes the TRX of the transaction initiator. The amount is calculated by the number of bytes in the transaction multiplied by 10 SUN. Thus, for most TRX holders who may not necessarily freeze their TRX to participate in SR voting, the first step is automatically skipped (since TRX balance frozen = 0) and the 5000 daily free bandwidth powers the transaction.

For TRC-10 token transfers, the network first verifies whether the total free bandwidth points of the issued token asset are sufficient. If not, the bandwidth points obtained from freezing TRX are consumed. If there is still not enough bandwidth points, then it consumes the TRX of the transaction initiator.

5.2.3 Fee

TRON network generally does not charge fees for most transactions, however, due to system restrictions and fairness, bandwidth usage and transactions do take in certain fees.

Fee charges are broken down into the following categories: 1. Normal transactions cost bandwidth points. Users can use the free daily bandwidth points (5000) or freeze TRX to obtain more. When bandwidth points are not enough, TRX will be used directly from the sending account. The TRX needed is the number of bytes * 10 SUN. 2. Smart contracts cost energy (Section 6) but will also need bandwidth points for the transaction to be broadcasted and confirmed. The bandwidth cost is the same as above. 3. All query transactions are free. It doesn’t cost energy or bandwidth.

TRON network also defines a set of fixed fees for the following transactions: 1. Creating a witness node: 9999 TRX 2. Issuing a TRC-10 token: 1024 TRX 3. Creating a new account: 0.1 TRX 4. Creating an exchange pair: 1024 TRX 5.2.4 Transaction as Proof of Stake (TaPoS)

TRON uses TaPoS to ensure the transactions all confirm the main blockchain, while making it difficult to forge counterfeit chains. In TaPoS, the networks require each transaction include part of the hash of a recent block header. This requirement prevents transactions from being replayed on forks not including the referenced block, and also signals the network that a particular user and their

stake are on a specific fork. This consensus mechanism protects the network against Denial of Service, 51%, selfish mining, and double spend attacks.
5.2.5 Transaction Confirmation

A transaction is included in a future block after being broadcast to the network. After 19 blocks are mined on TRON (including its own block), the transaction is confirmed. Each block is produced by one of the top 27 Super Representatives in a round robin fashion. Each block takes ~3 seconds to be mined on the blockchain. Time may slightly vary for each Super Representative due to network conditions and machine configurations. In general, a transaction is considered fully confirmed after ~1 minute. 5.2.6 Structure

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 رأس الكتلة

يحتوي رأس الكتلة على البيانات الخام، وتوقيع_الشاهد، ومعرف الكتلة.

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 البيانات الأولية

يُشار إلى البيانات الأولية على أنها ​raw_data​ في Protobuf. أنه يحتوي على البيانات الأولية للرسالة، التي تحتوي على 6 المعلمات:

1. الطابع الزمني: الطابع الزمني لهذه الرسالة - على سبيل المثال. 1543884429000. 2. txTrieRoot​: جذر شجرة Merkle - على سبيل المثال. 7داكسا…3ed. 3. parentHash​: hash للكتلة الأخيرة - على سبيل المثال. 7داكسا…3ed. 4. الرقم: ارتفاع الكتلة - على سبيل المثال. 4638708. 5. النسخة: محجوزة - على سبيل المثال. 5.

Block header and Merkle tree structure showing how TRX transactions are hashed into the Merkle root

6. عنوان الشاهد​: عنوان الشاهد الموجود في هذه الكتلة – على سبيل المثال: 41928ج...4د21. 5.1.2 توقيع الشاهد

يُشار إلى توقيع الشاهد على أنه ​witness_signature​ في Protobuf، وهو التوقيع لهذا كتلة الرأس من عقدة الشاهد. 5.1.3 معرف الكتلة

يُشار إلى معرف الكتلة على أنه ​blockID​ في Protobuf. أنه يحتوي على التحديد الذري للكتلة. كتلة يحتوي المعرف على معلمتين: 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. إذا كان ذلك غير كاف، ثم يستهلك من 5000 نقطة عرض النطاق الترددي اليومية المجانية. إذا كان هذا لا يزال غير كاف، ثم الشبكة يستهلك TRX الخاص ببادئ المعاملة. يتم حساب المبلغ حسب عدد البايتات الموجودة فيه المعاملة مضروبة في 10 SUN. وبالتالي، بالنسبة لمعظم حاملي TRX الذين قد لا يتجمدون بالضرورة TRX الخاص بهم للمشاركة في تصويت SR، يتم تخطي الخطوة الأولى تلقائيًا (نظرًا لأن رصيد TRX مجمد = 0) ويعمل النطاق الترددي المجاني البالغ 5000 يوميًا على تشغيل المعاملة.

بالنسبة لعمليات نقل TRC-10 token، تتحقق الشبكة أولاً مما إذا كان إجمالي نقاط النطاق الترددي المجانية للشبكة أم لا. الأصل الصادر token كافٍ. إذا لم يكن الأمر كذلك، فإن نقاط النطاق الترددي التي تم الحصول عليها من تجميد TRX هي المستهلكة. إذا لم يكن هناك ما يكفي من نقاط النطاق الترددي، فإنه يستهلك TRX للمعاملة البادئ.

5.2.3 الرسوم

TRON لا تفرض شبكة 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 Virtual Machine

TRON Virtual Machine

6.1 Introduction

TRON Virtual Machine (TVM) is a lightweight, Turing complete virtual machine developed for the TRON's ecosystem. Its goal is to provide a custom-built blockchain system that is efficient, convenient, stable, secure and scalable.

TVM initially forked from EVM and can connect seamlessly with the existing solidity smart contract 11 development ecosystem. Based on that, TVM additionally supports DPoS consensus.

TVM employs the concept of Energy. Different from the Gas mechanism on EVM, operations of transactions and smart contracts on TVM are free, with no TRX consumed. Technically, executable computation capacity on TVM is not restricted by total holding amount of tokens. 6.2 Workflow

The compiler first translates the Solidity smart contract into bytecode readable and executable on the TVM. The TVM then processes data through opcode, which is equivalent to operating the logic of a stack-based finite state machine. Finally, the TVM accesses blockchain data and invokes External Data Interface through the Interoperation layer. 11 EVM: Ethereum Virtual Machine (https://github.com/ethereum/ethereumj)

TVM workflow showing compiler translating Solidity smart contracts into bytecode for execution on the TRON Virtual Machine

Figure 3: TVM Workflow

6.3 Performance 6.3.1 Lightweight Architecture

TVM adopts a lightweight architecture with the aim of reducing resource consumption to guarantee system performance. 6.3.2 Robust

TRX transfers and smart contract execution cost bandwidth points only, instead of TRX, which exempts TRON from being attacked. Bandwidth consumption is predictable and static since each computational step cost is fixed. 6.3.3 High Compatibility

TVM is compatible with EVM and will be compatible with more mainstream VMs in the future. Thereby, all smart contracts on EVM are executable on TVM. 6.3.4 Low Cost

Due to TVM’s bandwidth setup, development costs are reduced and developers can focus on the logic development of their contract code. TVM also offers all-in-one interfaces for contract deployment, triggering and viewing to offer the convenience for developers.

TRON آلة افتراضية

6.1 مقدمة

TRON Virtual Machine (TVM) عبارة عن آلة افتراضية خفيفة الوزن ومتكاملة تم تطويرها من أجل النظام البيئي لـ TRON. هدفها هو توفير نظام blockchain مصمم خصيصًا وفعال، مريحة ومستقرة وآمنة وقابلة للتطوير.

تفرع TVM في البداية من EVM ويمكنه الاتصال بسلاسة مع الصلابة الموجودة smart contract 11 النظام البيئي للتنمية. وبناءً على ذلك، يدعم TVM أيضًا إجماع DPoS.

يستخدم TVM مفهوم الطاقة. تختلف عن آلية الغاز الموجودة في EVM، عمليات المعاملات وsmart contracts على TVM مجانية، ولا يتم استهلاك TRX. من الناحية الفنية، قابلة للتنفيذ سعة الحساب على TVM غير مقيدة بإجمالي مبلغ الاحتفاظ البالغ tokens. 6.2 سير العمل

يقوم المترجم أولاً بترجمة Solidity smart contract إلى رمز بايت قابل للقراءة والتنفيذ على TVM. يقوم TVM بعد ذلك بمعالجة البيانات من خلال كود التشغيل، وهو ما يعادل تشغيل المنطق من آلة الحالة المحدودة القائمة على المكدس. وأخيرًا، يصل TVM إلى بيانات blockchain ويستدعيها واجهة البيانات الخارجية من خلال طبقة التشغيل البيني. 11 EVM: Ethereum الجهاز الظاهري (https://github.com/ethereum/ethereumj)

TVM workflow showing compiler translating Solidity smart contracts into bytecode for execution on the TRON Virtual Machine

الشكل 3: سير عمل TVM

6.3 الأداء 6.3.1 بنية خفيفة الوزن

تتبنى TVM بنية خفيفة الوزن بهدف تقليل استهلاك الموارد لضمان ذلك أداء النظام. 6.3.2 قوية

تكلف عمليات نقل TRX وتنفيذ smart contract نقاط النطاق الترددي فقط، بدلاً من TRX، والتي يعفي TRON من التعرض للهجوم. استهلاك النطاق الترددي يمكن التنبؤ به وثابت منذ كل منهما تم إصلاح تكلفة الخطوة الحسابية. 6.3.3 التوافق العالي

TVM متوافق مع EVM وسيكون متوافقًا مع المزيد من الأجهزة الافتراضية السائدة في المستقبل. وبالتالي، فإن جميع smart contracts الموجودة على EVM قابلة للتنفيذ على TVM. 6.3.4 التكلفة المنخفضة

نظرًا لإعداد النطاق الترددي لـ TVM، يتم تقليل تكاليف التطوير ويمكن للمطورين التركيز على التطوير المنطقي لرمز العقد الخاص بهم. تقدم TVM أيضًا واجهات الكل في واحد للتعاقد النشر والتشغيل والعرض لتوفير الراحة للمطورين.

Smart Contract

Smart Contract

7.1 Introduction

A smart contract is a protocol that digitally verifies contract negotiation. They define the rules and penalties related to an agreement and also automatically enforce those obligations. The smart contract code facilitates, verifies, and enforces the negotiation or performance of an agreement or transaction. From a tokenization perspective, smart contracts also facilitate automatic funds transfers between participating parties should certain criteria be met.

TRON smart contracts are written in the Solidity language. Once written and tested, they can be compiled into bytecode, then deployed onto the TRON network for the TRON Virtual Machine. Once deployed, smart contracts can be queried via their contract addresses. The contract Application Binary Interface (ABI) shows the contract’s call functions and is used for interacting with the network. 7.2 Energy Model

The maximum energy limit for deploying and triggering a smart contract is a function of several variables:

● Dynamic energy from freezing 1 TRX is 50,000,000,000 (Total Energy Limit) / (Total Energy Weight) ● Energy limit is the daily account energy limit from freezing TRX ● Remaining daily account energy from freezing TRX is calculated as Energy Limit - Energy Used ● Fee limit in TRX is set in smart contract deploy/trigger call ● Remaining usable TRX in the account ● Energy per TRX if purchased directly (10 SUN = 1 Energy) = 100,000, SRs can vote on adjustment

There are two consumption scenarios to calculate for maximum energy limit for deployment and trigger. The logic can be expressed as follows:
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 Deployment

When a TRON solidity smart contract is compiled, the TRON Virtual Machine reads the compiled bytecode. The bytecode consists of a section for code deployment, contract code, and the Auxdata. The Auxdata is the source code’s cryptographic fingerprint, used for verification. The deployment bytecode runs the constructor function and sets up the initial storage variables. The deployment code also calculates the contract code and returns it to the TVM. The ABI is a JSON file that describes a TRON smart contract’s functions. This file defines the function names, their payability, the function return values, and their state mutability. 7.4 Trigger Function

Once the TRON smart contracts are deployed, their functions can be triggered individually either via TronStudio or through API calls. State-changing functions require Energy while read-only functions execute without Energy. 7.5 TRON Solidity

TRON Solidity is a fork from Ethereum’s Solidity language. TRON modifies the original project to support TRX and SUN units (1 TRX = 1,000,000 SUN). The rest of the language syntax is compatible with Solidity ^0.4.24. Thus the Tron Virtual Machine (TVM) is almost 100% compatible with EVM instructions.

العقد الذكي

7.1 مقدمة

smart contract هو بروتوكول يتحقق رقميًا من التفاوض على العقد. يحددون القواعد و العقوبات المتعلقة بالاتفاق وكذلك تنفيذ تلك الالتزامات تلقائيًا. الذكية يعمل رمز العقد على تسهيل التفاوض أو تنفيذ اتفاقية ما أو تنفيذها والتحقق منها وإنفاذها معاملة. من منظور tokenالتحويل، تعمل smart contract أيضًا على تسهيل الأموال التلقائية يجب أن يتم استيفاء عمليات النقل بين الأطراف المشاركة بمعايير معينة.

TRON smart contracts مكتوبة بلغة Solidity. بمجرد كتابتها واختبارها، يمكن أن تكون كذلك تم تجميعها في رمز بايت، ثم نشرها على شبكة TRON للجهاز الظاهري TRON. مرة واحدة تم نشرها، ويمكن الاستعلام عن smart contracts عبر عناوين العقود الخاصة بهم. تطبيق العقد تُظهر الواجهة الثنائية (ABI) وظائف استدعاء العقد وتُستخدم للتفاعل مع شبكة. 7.2 نموذج الطاقة

الحد الأقصى للطاقة لنشر وتشغيل smart contract هو دالة متعددة المتغيرات:

● الطاقة الديناميكية من التجميد 1 TRX هي 50,000,000,000 (حد الطاقة الإجمالي) / (إجمالي الطاقة الوزن) ● حد الطاقة هو حد الطاقة اليومي للحساب من تجميد TRX ● يتم حساب الطاقة اليومية المتبقية في الحساب من تجميد TRX على أنها حد الطاقة - الطاقة مستعملة ● تم تعيين حد الرسوم في TRX في smart contract نشر/تشغيل المكالمة ● المتبقي من TRX القابل للاستخدام في الحساب ● الطاقة لكل TRX إذا تم شراؤها مباشرة (10 SUN = 1 طاقة) = 100,000، يمكن للSRs التصويت عليها التعديل

هناك سيناريوهان للاستهلاك لحساب الحد الأقصى للطاقة للنشر و الزناد. يمكن التعبير عن المنطق على النحو التالي:
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 smart contract، يقرأ الجهاز الظاهري TRON الملف المترجم bytecode. يتكون الرمز الثانوي من قسم لنشر التعليمات البرمجية، ورمز العقد، وAuxdata. Auxdata هي بصمة التشفير للكود المصدري، المستخدمة للتحقق. النشر يقوم bytecode بتشغيل وظيفة المُنشئ وإعداد متغيرات التخزين الأولية. النشر يقوم الكود أيضًا بحساب كود العقد وإعادته إلى TVM. ABI هو ملف JSON الذي يصف وظائف TRON smart contract. يحدد هذا الملف أسماء الوظائف، وسداد مستحقاتها، تقوم الدالة بإرجاع القيم وقابلية تغيير حالتها. 7.4 وظيفة الزناد

بمجرد نشر TRON smart contracts، يمكن تشغيل وظائفها بشكل فردي إما عبر TronStudio أو من خلال مكالمات API. تتطلب وظائف تغيير الحالة الطاقة بينما وظائف القراءة فقط تنفيذ بدون طاقة. 7.5 TRON الصلابة

TRON الصلابة هي شوكة من لغة الصلابة Ethereum. TRON يعدل المشروع الأصلي إلى دعم وحدات TRX وSUN (1 TRX = 1,000,000 SUN). بقية بناء جملة اللغة هو متوافق مع صلابة ^0.4.24. وبالتالي فإن جهاز Tron الظاهري (TVM) متوافق بنسبة 100% تقريبًا مع تعليمات EVM.

Token

Token

8.1 TRC-10 Token

In the TRON network, each account can issue tokens at the expense of 1024 TRX. ​To issue tokens, the issuer needs to specify a token name, the total capitalization, the exchange rate to TRX, circulation duration, description, website, maximum bandwidth consumption per account, total bandwidth consumption, and the amount of token frozen. Each token issuance can also configure each account’s maximum daily token transfer Bandwidth Points, the entire network’s maximum daily token transfer Bandwidth Points, total token supply, locking duration in days, and the total amount of tokens locked. 8.2 TRC-20 Token

TRC-20 is a technical standard used for smart contracts implementing tokens supported by the TRON Virtual Machine. It is fully compatible with ERC-20.

The interface is as follows:
contract​ TRC20Interface { ​function​ ​totalSupply​() ​public​ ​constant​ ​returns​ (uint); ​function​ ​balanceOf​(address tokenOwner) ​public​ ​constant​ ​returns​ (uint balance); ​function​ ​allowance​(address tokenOwner, address spender) ​public​ ​constant returns​ (uint remaining); ​function​ ​transfer​(address to, uint tokens) ​public​ ​returns​ (bool success); ​function​ ​approve​(address spender, uint tokens) ​public​ ​returns​ (bool success); ​function​ ​transferFrom​(address from, address to, uint tokens) ​public returns​ (bool success);

​event​ ​Transfer​(address indexed from, address indexed to, uint tokens); 
​event​ ​Approval​(address indexed tokenOwner, address indexed spender, uint

tokens); }

From a developer’s perspective, there are several differences between TRC-10 and TRC-20. Some of the key differences are that TRC-10 tokens are accessible by APIs and smart contracts while TRC-20 tokens allow for interface customization but are only accessible within smart contracts.

From a cost perspective, TRC-10 tokens have transaction fees that are 1000 times lower than TRC-20, but carry bandwidth costs for API transfers and deposits. Transfers and deposits in smart contracts for TRC-10 tokens cost both bandwidth and energy.
8.3 Beyond

Since TRON uses the same Solidity version as Ethereum, more token standards could be readily ported to TRON.

رمز مميز

8.1 رمز TRC-10

في شبكة TRON، يمكن لكل حساب إصدار tokens على حساب 1024 TRX. ​لإصدار tokens، يحتاج المُصدر إلى تحديد اسم token، وإجمالي الرسملة، وسعر الصرف إلى TRX، مدة التداول، الوصف، الموقع الإلكتروني، الحد الأقصى لاستهلاك النطاق الترددي لكل حساب، الإجمالي استهلاك عرض النطاق الترددي، ومبلغ token المجمدة. يمكن أيضًا تكوين كل إصدار token الحد الأقصى اليومي لكل حساب token نقل نقاط النطاق الترددي، الحد الأقصى اليومي للشبكة بالكامل token نقل نقاط النطاق الترددي، وإجمالي token العرض، ومدة القفل بالأيام، والمبلغ الإجمالي من tokens مقفل. 8.2 رمز TRC-20

TRC-20 هو معيار فني يستخدم في تنفيذ smart contracts tokens المدعومة من قبل TRON آلة افتراضية. وهو متوافق تمامًا مع ERC-20.

الواجهة هي كما يلي:
عقد واجهة TRC20 { ​وظيفة​ ​totalSupply​() ​العوائد العامة​ ​الثابتة​ (uint); ​الوظيفة​ ​رصيد​(العنوان tokenالمالك) ​العوائد​ العامة ​الثابتة​ (uint التوازن)؛ ​الوظيفة​ ​بدل ​(العنوان tokenالمالك، عنوان المنفق) ​عام​ ​ثابت المرتجعات (uint المتبقية) ؛ وظيفة النقل (العنوان إلى، uint tokens) الإرجاعات العامة (نجاح منطقي)؛ وظيفة الموافقة (عنوان المنفق، uint tokens) الإرجاعات العامة (منطقي) النجاح)؛ ​الوظيفة​ ​نقل من​(العنوان من، العنوان إلى، uint tokens) ​عام عوائد (نجاح منطقي) ؛

​الحدث​ ​نقل​(العنوان المفهرس من، العنوان المفهرس إلى، uint tokens)؛ 
​الحدث​ ​الموافقة​(العنوان مفهرس tokenالمالك، عنوان المنفق المفهرس، uint

tokens)؛ }

من وجهة نظر المطور، هناك العديد من الاختلافات بين TRC-10 وTRC-20. بعض من الاختلافات الرئيسية هي أن TRC-10 tokens يمكن الوصول إليها عن طريق واجهات برمجة التطبيقات وsmart contracts بينما تسمح TRC-20 tokens بتخصيص الواجهة ولكن لا يمكن الوصول إليها إلا في smart contracts.

من منظور التكلفة، فإن TRC-10 tokens لديها رسوم معاملات أقل بـ 1000 مرة من TRC-20، ولكنها تحمل تكاليف عرض النطاق الترددي لعمليات نقل API والودائع. التحويلات والودائع في الذكية تكلف عقود TRC-10 tokens كلاً من عرض النطاق الترددي والطاقة.
8.3 أبعد

نظرًا لأن TRON يستخدم نفس إصدار Solidity مثل Ethereum، فيمكن توفير المزيد من معايير token بسهولة تم النقل إلى TRON.

Governance

Governance

9.1 Super Representative 9.1.1 General

Every account in the TRON network can apply and have the opportunity to become a Super Representative (denoted as SR). Everyone can vote for SR candidates. The top 27 candidates with the most votes will become SRs with the right and obligation to generate blocks. The votes are counted every 6 hours and the SRs will change accordingly.

To prevent malicious attacks, there is a cost to becoming an SR candidate. When applying, 9999 TRX will be burned from the applicant’s account. Once successful, such account can join the SR election. 9.1.2 Election

TRON Power (denoted as TP) is needed to vote and the amount of TP depends on the voter’s frozen assets (TRX).

TP is calculated in the following way:
TP 1 TRX frozen to get bandwidth 1 =

Every account in the TRON network has the right to vote for their own SRs.

After the release (unfreeze, available after 3 days), users won't have any frozen assets and lose all TP accordingly. As a result, all votes become invalid for the ongoing and future voting round unless TRX is frozen again to vote.

Note that the TRON network only records the most recent vote, which means that every new vote will negate all previous votes. 9.1.3 Reward a. Vote Reward

Also known as Candidate Reward, which the top 127 candidates updated once every round (6 hours) will share 115,200 TRX as mined. The reward will be split in accordance with the vote weight each candidate receives. Each year, the total reward for candidates will be 168,192,000 TRX. Total vote reward per round Why 115,200 TRX every round? 15, 00 TRX total vote reward per round (V R/round) 1 2 =
V R/round = 16 T RX/block × 20 blocks/min × 60 mins/hr × 6 hrs/round Notice: this is set by WITNESS_STANDBY_ALLOWANCE = 115,200 TRX. See dynamic network parameters. Total vote reward per year Why 168,192,000 TRX every year? 168, 192, 000 T RX = total vote reward per year (V R/year) V R/year = 115, 200 T RX/round × 4 rounds/day × 365 days/year b. Block Reward Also known as Super Representative Reward, which the top 27 candidates (SRs) who are elected every round (6 hours) will share roughly 230,400 TRX as mined. The reward will be split evenly between the 27 SRs (minus the total reward blocks missed due to network error). A total of 336,384,000 TRX will be awarded annually to the 27 SRs. Total block reward per round Why 230,400 TRX every round? 230, 400 T RX = total block reward per round (BR/round) BR/round = 32 T RX/bloc × 20 blocks/min × 60 mins/hr × 6 hrs/round Notice: the unit block reward is set by WITNESS_PAY_PER_BLOCK = 32 TRX. See dynamic network parameters. Total block reward per year Why 336,384,000 TRX every year? 336, 384, 000 T RX = total block reward per year (BR/year) BR/year = 230, 400 T RX/round × 4 rounds/day × 365 days/year January 1, 2021 There will be no inflation on the TRON network before January 1, 2021, and the TRON DAO will award all block rewards and candidate rewards prior to that date. c. Reward Calculation

SR reward calculation otal reward vote reward (V R) block reward (BR) t =
+

R total V R V =
×
total votes votes SR candidate received
R

block missed 2 B =
27 total BR − × 3
Note: the reward is calculated per SR per round (6 hours)

Rank 28 to rank 127 SR candidate reward calculation otal reward vote reward (V R) t =

R total V R V =
×
total votes votes SR candidate received
Note: the reward is calculated per SR candidate per round (6 hours) 9.2 Committee 9.2.1 General

The committee is used to modify TRON dynamic network parameters, such as block generation rewards, transaction fees, etc. The committee consists of the 27 SRs in the current round. Each SR has the right to propose and vote on proposals. When a proposal receives 19 votes or more, it is approved and the new network parameters will be applied in the next maintenance period (3 days). 9.2.2 Dynamic Network Parameters 0. MAINTENANCE_TIME_INTERVAL a. Description
Modify the maintenance interval time in ms. Known as the SR vote interval time per round.
b. Example [6 * 3600 * 1000] ms - which is 6 hours. c. Range [3 * 27* 1000, 24 * 3600 * 1000] ms 1. ACCOUNT_UPGRADE_COST a. Description Modify the cost of applying for SR account. b. Example [9,999,000,000] SUN - which is 9,999 TRX. c. Range [0,100 000 000 000 000 000] SUN 2. CREATE_ACCOUNT_FEE a. Description Modify the account creation fee.

b. Example [100,000] SUN - which is 1 TRX. c. Range [0,100 000 000 000 000 000] SUN 3. TRANSACTION_FEE a. Description Modify the amount of fee used to gain extra bandwidth. b. Example [10] SUN/byte. c. Range [0,100 000 000 000 000 000] SUN/byte 4. ASSET_ISSUE_FEE a. Description Modify asset issuance fee. b. Example [1024,000,000] SUN - which is 1024 TRX. c. Range [0,100 000 000 000 000 000] SUN 5. WITNESS_PAY_PER_BLOCK a. Description Modify SR block generation reward. Known as unit block reward. b. Example [32,000,000] SUN - which is 32 TRX. c. Range [0,100 000 000 000 000 000] SUN 6. WITNESS_STANDBY_ALLOWANCE a. Description Modify the rewards given to the top 127 SR candidates. Known as total vote reward per round. b. Example [115,200,000,000] SUN - which is 115,200 TRX. c. Range [0,100 000 000 000 000 000] SUN 7. CREATE_NEW_ACCOUNT_FEE_IN_SYSTEM_CONTRACT a. Description Modify the cost of account creation. Combine dynamic network parameters #8 to get total account creation cost:
REATE_NEW_ACCOUNT_FEE_IN_SY STEM_CONTRACT REATE_NEW_ACCOUNT_BANDWIDTH_RATE
C × C

b. Example [0] SUN. c. Range [0,100 000 000 000 000 000] SUN 8. CREATE_NEW_ACCOUNT_BANDWIDTH_RATE

a. Description Modify the cost of account creation. Combine dynamic network parameters #7 to get total account creation cost:
REATE_NEW_ACCOUNT_FEE_IN_SY STEM_CONTRACT REATE_NEW_ACCOUNT_BANDWIDTH_RATE
C × C

b. Example [1]. c. Range [0,100,000,000,000,000,000] 9. ALLOW_CREATION_OF_CONTRACTS a. Description To turn on Tron Virtual Machine (TVM). b. Example True - set to activate and effect since 10/10/2018 23:47 UTC. c. Range True/False 10. REMOVE_THE_POWER_OF_THE_GR a. Description Remove the initial GR genesis votes b. Example True - effected at 11/4/2018 08:46 UTC. c. Range True/False - Notice: cannot set back to False from True. 11. ENERGY_FEE a. Description Modify the fee of 1 energy. b. Example 20 SUN. c. Range [0,100 000 000 000 000 000] SUN 12. EXCHANGE_CREATE_FEE a. Description Modify the cost of trading pair creation. Known as the cost of creating a trade order. b. Example [1,024,000,000] SUN - which is 1024 TRX. c. Range [0,100 000 000 000 000 000] SUN 13. MAX_CPU_TIME_OF_ONE_TX a. Description Modify the maximum execution time of one transaction. Known as the timeout limit of one transaction. b. Example 50 ms. c. Range

[0, 1000] ms 14. ALLOW_UPDATE_ACCOUNT_NAME a. Description Modify the option to let an account update their account name.
b. Example False - which is available to propose from java-tron Odyssey v3.2. c. Range True/False - Notice: cannot set back to False from True. 15. ALLOW_SAME_TOKEN_NAME a. Description Modify the validation of allowing different token have a duplicate name.
b. Example False - which is available to propose from java-tron Odyssey v3.2. c. Range True/False - Notice: cannot set back to False from True. 16. ALLOW_DELEGATE_RESOURCE a. Description Modify the validation of allowing to issue token with a duplicate name, so the tokenID​ of the token, in long integer data type, would be the only atomic identification of a token.
b. Example False - which is available to propose from java-tron Odyssey v3.2. c. Range True/False - Notice: cannot set back to False from True. 17. TOTAL_ENERGY_LIMIT a. Description Modify the whole network total energy limit. b. Example [50,000,000,000,000,000] SUN - which is 50,000,000,000 TRX. c. Range [0,100,000,000,000,000,000] SUN 18. ALLOW_TVM_TRANSFER_TRC10 a. Description Allow TRC-10 token transfer within smart contracts. ALLOW_UPDATE_ACCOUNT_NAME, ALLOW_SAME_TOKEN_NAME, ALLOW_DELEGATE_RESOURCE proposals must all be approved before proposing this parameter change.
b. Example False - which is available to propose from java-tron Odyssey v3.2. c. Range True/False - Notice: cannot set back to False from True.

9.2.3 Create Proposal

Only the SR accounts have the rights to propose a change in dynamic network parameters. 9.2.4 Vote Proposal

Only committee members (SRs) can vote for a proposal and the member who does not vote in time will be considered as a disagree. The proposal is active for 3 days after it is created. The vote can be changed or retrieved during the 3-days voting window. Once the period ends, the proposal will either succeed (19+ votes) or fail (and end). 9.2.5 Cancel Proposal

The proposer can cancel the proposal before it becomes effective. 9.3 Structure

SRs are the witnesses of newly generated blocks. A witness contains 8 parameters:
1. address​: the address of this witness – e.g. 0xu82h…7237.
2. voteCount​: number of received votes on this witness – e.g. 234234.
3. pubKey​: the public key for this witness – e.g. 0xu82h…7237.
4. url​: the url for this witness – e.g. https://www.noonetrust.com.
5. totalProduced​: the number of blocks this witness produced – e.g. 2434.
6. totalMissed​: the number of blocks this witness missed – e.g. 7.
7. latestBlockNum​: the latest height of block – e.g. 4522. 8. isjobs​: a boolean flag.

Protobuf data structure: message​ ​Witness​{
​bytes​ address = ​1​;
​int64​ voteCount = ​2​;
​bytes​ pubKey = ​3​;
​string​ url = ​4​;
​int64​ totalProduced = ​5​;
​int64​ totalMissed = ​6​;
​int64​ latestBlockNum = ​7​; ​bool​ isJobs = ​8​; }

  1. DApp Development 10.1 APIs

The TRON network offers a wide selection of over 60+ HTTP API gateways for interacting with the network via Full and Solidity Nodes. Additionally, TronWeb is a comprehensive JavaScript library containing API functions that enable developers to deploy smart contracts, change the blockchain state, query blockchain and contract information, trade on the DEX, and much more. These API gateways can be directed towards a local privatenet, the Shasta testnet, or the TRON Mainnet.

10.2 Networks

TRON has both a Shasta testnet as well as a Mainnet. Developers may connect to the networks by deploying nodes, interacting via TronStudio, or using APIs via the TronGrid service. The TronGrid service consists of load balanced node clusters hosted on AWS servers worldwide. As DApp development scales up and API call volumes increase, TronGrid successfully fields the increase in API traffic.
10.3 Tools

TRON offers a suite of development tools for enabling developers to create innovative DApps.
TronBox is a framework that allows developers to test and deploy smart contracts via the TronWeb API. TronGrid is a load balanced and hosted API service that allows developers to access the TRON network without having to run their own node. TronGrid offers access to both the Shasta testnet as well as the TRON Mainnet. TronStudio is a comprehensive Integrated Development Environment (IDE) that enables developers to compile, deploy, and debug their Solidity smart contracts. TronStudio contains an internal full node that creates a private local environment for smart contract testing prior to deployment. The TronWeb API library connects developers to the network via a wide selection of HTTP API calls wrapped in JavaScript.
10.4 Resources

The TRON Developer Hub is a comprehensive API documentation site tailored towards 12 developers wishing to build on the TRON network. The Developer Hub provides a high-level conceptual understanding of TRON and walks users through the details of interacting with the 12 Developer Hub: https://developers.tron.network/

network. The guides walk developers through node setup, deployment and interaction with smart contracts, API interaction and implementation, building sample DApps, and using each of the developer tools. Additionally, developer community channels are available through Discord .
13

13 Discord: https://discordapp.com/invite/GsRgsTD

  1. Conclusion

TRON is a scalable blockchain solution that has employed innovative methods for tackling challenges faced by legacy blockchain networks. Having reached over 2M transactions per day, with over 700K TRX accounts, and surpassing 2000 TPS, TRON has enabled the community in creating a decentralized and democratized network.

الحكم

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 تم تجميد 1 TRX للحصول على النطاق الترددي 1 =

يحق لكل حساب في شبكة TRON التصويت لممثليه الخاصين.

بعد الإصدار (إلغاء التجميد، متاح بعد 3 أيام)، لن يكون لدى المستخدمين أي أصول مجمدة وسيخسرون كل شيء TP وفقا لذلك. ونتيجة لذلك، تصبح جميع الأصوات غير صالحة لجولة التصويت الحالية والمستقبلية ما لم تم تجميد TRX مرة أخرى للتصويت.

لاحظ أن شبكة TRON تسجل فقط التصويت الأخير، مما يعني أن كل صوت جديد سوف يلغي جميع الأصوات السابقة. 9.1.3 المكافأة أ. مكافأة التصويت

تُعرف أيضًا باسم مكافأة المرشح، والتي يقوم أفضل 127 مرشحًا بتحديثها مرة واحدة في كل جولة (6 ساعات) ستشارك 115,200 TRX كما تم تعدينها. سيتم تقسيم المكافأة وفقًا لوزن التصويت يحصل كل مرشح. في كل عام، سيكون إجمالي المكافأة للمرشحين 168,192,000 TRX. إجمالي مكافأة التصويت لكل جولة لماذا 115,200 TRX في كل جولة؟ 15,00 تي آر إكس إجمالي مكافأة التصويت لكل جولة (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 يومًا/سنة ب. مكافأة الكتلة تُعرف أيضًا باسم مكافأة الممثل المتميز، والتي يتم انتخاب أفضل 27 مرشحًا (SRs). ستشارك كل جولة (6 ساعات) ما يقرب من 230,400 TRX كما تم تعدينها. سيتم تقسيم المكافأة بالتساوي بين 27 SR (مطروحًا منها إجمالي كتل المكافآت المفقودة بسبب خطأ في الشبكة). ما مجموعه سيتم منح 336,384,000 TRX سنويًا إلى 27 ريال سعودي. إجمالي مكافأة الكتلة لكل جولة لماذا 230,400 TRX في كل جولة؟ 230، 400 T RX = إجمالي مكافأة الكتلة لكل جولة (BR/جولة) BR/جولة = 32 طن RX/كتلة × 20 قطعة/دقيقة × 60 دقيقة/ساعة × 6 ساعات/جولة ملاحظة: يتم تعيين مكافأة كتلة الوحدة بواسطة WITNESS_PAY_PER_BLOCK = 32 TRX. انظر الشبكة الديناميكية المعلمات. إجمالي مكافأة الكتلة سنويًا لماذا 336,384,000 TRX كل عام؟ 336، 384، 000 T RX = إجمالي مكافأة الكتلة سنويًا (BR / سنة) BR/السنة = 230، 400 طن RX/جولة × 4 جولات/يوم × 365 يومًا/سنة 1 يناير 2021 لن يكون هناك تضخم في شبكة TRON قبل 1 يناير 2021، وسوف يكون TRON DAO منح جميع مكافآت المجموعات ومكافآت المرشحين قبل ذلك التاريخ. ج. حساب المكافأة

حساب مكافأة ريال سعودي مكافأة إجمالية مكافأة التصويت (V R) مكافأة الكتلة (BR) ر =
+

ر إجمالي VR V =
×
مجموع الأصوات الأصوات التي حصل عليها مرشح SR
ر

غاب كتلة 2 ب =
27 إجمالي BR - × 3
ملحوظة: المكافأة تحتسب بالريال لكل جولة (6 ساعات)

المرتبة 28 إلى المرتبة 127 ريال حساب مكافأة المرشح مكافأة إجمالية مكافأة التصويت (V R) ر =

ر إجمالي VR V =
×
مجموع الأصوات الأصوات التي حصل عليها مرشح SR
ملاحظة: يتم احتساب المكافأة لكل مرشح SR في كل جولة (6 ساعات) 9.2 اللجنة 9.2.1 عام

يتم استخدام اللجنة لتعديل معلمات الشبكة الديناميكية TRON، مثل إنشاء الكتلة المكافآت ورسوم المعاملات وما إلى ذلك. تتكون اللجنة من 27 ريالًا في الجولة الحالية. كل ريال وله الحق في اقتراح المقترحات والتصويت عليها. عندما يحصل الاقتراح على 19 صوتًا أو أكثر، يتم ذلك تمت الموافقة عليها وسيتم تطبيق معلمات الشبكة الجديدة في فترة الصيانة القادمة (3 أيام). 9.2.2 معلمات الشبكة الديناميكية 0. MAINTENANCE_TIME_INTERVAL أ. الوصف
تعديل وقت الفاصل الزمني للصيانة بالمللي ثانية. المعروف باسم الفاصل الزمني للتصويت SR لكل جولة.
ب. مثال [636001000] مللي ثانية - أي 6 ساعات. ج. النطاق [3 * 27 * 1000، 24 * 3600 * 1000] مللي ثانية 1. ACCOUNT_UPGRADE_COST أ. الوصف تعديل تكلفة التقديم على حساب SR. ب. مثال [9,999,000,000] الشمس - وهي 9,999 TRX. ج. النطاق [0,100 000 000 000 000 000] الأحد 2. CREATE_ACCOUNT_FEE أ. الوصف تعديل رسوم إنشاء الحساب.ب. مثال [100.000] شمس - وهي 1 TRX. ج. النطاق [0,100 000 000 000 000 000] الأحد 3. رسوم المعاملة أ. الوصف قم بتعديل مبلغ الرسوم المستخدمة للحصول على نطاق ترددي إضافي. ب. مثال [10] شمس/بايت. ج. النطاق [0,100 000 000 000 000 000] شمس/بايت 4. ASSET_ISSUE_FEE أ. الوصف تعديل رسوم إصدار الأصول. ب. مثال [1024,000,000] صن - وهو 1024 TRX. ج. النطاق [0,100 000 000 000 000 000] الأحد 5. WITNESS_PAY_PER_BLOCK أ. الوصف تعديل مكافأة إنشاء كتلة SR. المعروفة باسم مكافأة كتلة الوحدة. ب. مثال [32,000,000] شمس - وهي 32 TRX. ج. النطاق [0,100 000 000 000 000 000] الأحد 6. WITNESS_STANDBY_ALLOWANCE أ. الوصف تعديل المكافآت الممنوحة لأفضل 127 مرشحاً ريالاً. المعروفة باسم مكافأة التصويت الإجمالي لكل جولة. ب. مثال [115,200,000,000] شمس - وهي 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
ج × ج

ب. مثال [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
ج × ج

ب. مثال [1]. ج. النطاق [0,100,000,000,000,000,000] 9. ALLOW_CREATION_OF_CONTRACTS أ. الوصف لتشغيل جهاز Tron الظاهري (TVM). ب. مثال صحيح - تم ضبطه على التنشيط والتأثير منذ 10/10/2018 الساعة 23:47 بالتوقيت العالمي المنسق. ج. النطاق صحيح / خطأ 10. REMOVE_THE_POWER_OF_THE_GR أ. الوصف قم بإزالة أصوات نشأة GR الأولية ب. مثال صحيح - تم تفعيله في 11/4/2018 الساعة 08:46 بالتوقيت العالمي المنسق. ج. النطاق صحيح/خطأ - ملاحظة: لا يمكن الرجوع إلى خطأ من صحيح. 11. رسوم الطاقة أ. الوصف تعديل رسوم 1 طاقة. ب. مثال 20 شمس. ج. النطاق [0,100 000 000 000 000 000] الأحد 12. تبادل_إنشاء_رسوم أ. الوصف تعديل تكلفة إنشاء زوج التداول. المعروفة باسم تكلفة إنشاء أمر تجاري. ب. مثال [1,024,000,000] SUN - وهي 1024 TRX. ج. النطاق [0,100 000 000 000 000 000] الأحد 13. MAX_CPU_TIME_OF_ONE_TX أ. الوصف تعديل الحد الأقصى لوقت التنفيذ لمعاملة واحدة. المعروف باسم الحد الزمني ل معاملة واحدة. ب. مثال 50 مللي ثانية. ج. النطاق

[0، 1000] مللي ثانية 14. ALLOW_UPDATE_ACCOUNT_NAME أ. الوصف قم بتعديل الخيار للسماح للحساب بتحديث اسم حسابه.
ب. مثال خطأ - وهو متاح للاقتراح من java-tron Odyssey v3.2. ج. النطاق صحيح/خطأ - ملاحظة: لا يمكن الرجوع إلى خطأ من صحيح. 15. ALLOW_SAME_TOKEN_NAME أ. الوصف قم بتعديل التحقق من السماح لـ token المختلفة بأن يكون لها اسم مكرر.
ب. مثال خطأ - وهو متاح للاقتراح من java-tron Odyssey v3.2. ج. النطاق صحيح/خطأ - ملاحظة: لا يمكن الرجوع إلى خطأ من صحيح. 16. ALLOW_DELEGATE_RESOURCE أ. الوصف قم بتعديل التحقق من السماح بإصدار token باسم مكرر، وبالتالي فإن tokenID​ لـ token، في نوع بيانات عدد صحيح طويل، سيكون العنصر الذري الوحيد تحديد token.
ب. مثال خطأ - وهو متاح للاقتراح من java-tron Odyssey v3.2. ج. النطاق صحيح/خطأ - ملاحظة: لا يمكن الرجوع إلى خطأ من صحيح. 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 أ. الوصف السماح بنقل TRC-10 token خلال smart contracts. ALLOW_UPDATE_ACCOUNT_NAME، ALLOW_SAME_TOKEN_NAME، يجب الموافقة على جميع المقترحات ALLOW_DELEGATE_RESOURCE قبل تقديم الاقتراح تغيير هذه المعلمة.
ب. مثال خطأ - وهو متاح للاقتراح من java-tron Odyssey v3.2. ج. النطاق صحيح/خطأ - ملاحظة: لا يمكن الرجوع إلى خطأ من صحيح.9.2.3 إنشاء الاقتراح

تتمتع حسابات SR فقط بالحق في اقتراح تغيير في معلمات الشبكة الديناميكية. 9.2.4 اقتراح التصويت

يمكن فقط لأعضاء اللجنة (SRs) التصويت لصالح الاقتراح والعضو الذي لا يصوت في الوقت المناسب سيتم اعتباره غير موافق. يكون الاقتراح نشطًا لمدة 3 أيام بعد إنشائه. يمكن التصويت يمكن تغييرها أو استرجاعها خلال نافذة التصويت لمدة 3 أيام. بمجرد انتهاء الفترة، سيتم الاقتراح إما أن تنجح (+19 صوتًا) أو تفشل (وتنتهي). 9.2.5 إلغاء الاقتراح

ويمكن لمقدم الطلب إلغاء الاقتراح قبل أن يصبح نافذا. 9.3 الهيكل

SRs هم شهود الكتل التي تم إنشاؤها حديثًا. يحتوي الشاهد على 8 معلمات:
1. العنوان​: عنوان هذا الشاهد – مثلاً. 0xu82h…7237.
2. عدد الأصوات​: عدد الأصوات المستلمة على هذا الشاهد - على سبيل المثال. 234234.
3. pubKey​: المفتاح العام لهذا الشاهد - على سبيل المثال. 0xu82h…7237.
4. عنوان url​: عنوان url لهذا الشاهد - على سبيل المثال. https://www.noonetrust.com.
5. الإجمالي المُنتج​: عدد الكتل التي أنتجها هذا الشاهد - على سبيل المثال. 2434.
6. TotalMissed​: عدد الكتل التي غاب عنها هذا الشاهد - على سبيل المثال. 7.
7. lastBlockNum​: أحدث ارتفاع للكتلة - على سبيل المثال. 4522. 8. isjobs: علامة منطقية.

بنية بيانات البروتوبوف: الرسالة​ ​الشاهد​{
عنوان البايتات = 1؛
​int64​ عدد الأصوات = ​2​;
​بايت​ pubKey = ​3​;
​سلسلة​ رابط = ​4​؛
​int64​ TotalProduced = ​5;
​int64​ TotalMissed = ​6​;
​int64​ lastBlockNum = ​7​; ​bool​ isJobs = ​8​; }

  1. تطوير التطبيقات اللامركزية 10.1 واجهات برمجة التطبيقات

توفر شبكة TRON مجموعة واسعة من أكثر من 60 بوابة HTTP API للتفاعل مع الشبكة عبر العقد الكاملة والصلبة. بالإضافة إلى ذلك، TronWeb هي مكتبة جافا سكريبت شاملة تحتوي على وظائف واجهة برمجة التطبيقات (API) التي تمكن المطورين من نشر smart contracts، وتغيير blockchain الحالة والاستعلام عن blockchain ومعلومات العقد والتداول في DEX وغير ذلك الكثير. هذه API يمكن توجيه البوابات نحو شبكة خاصة محلية، أو شبكة اختبار Shasta، أو TRON الشبكة الرئيسية.

10.2 الشبكات

TRON يحتوي على شبكة اختبار Shasta بالإضافة إلى الشبكة الرئيسية. يمكن للمطورين الاتصال بالشبكات عن طريق نشر العقد أو التفاعل عبر TronStudio أو استخدام واجهات برمجة التطبيقات عبر خدمة TronGrid. ترونغريد تتكون الخدمة من مجموعات عقدة متوازنة التحميل مستضافة على خوادم AWS في جميع أنحاء العالم. مثل التطبيق اللامركزي مع زيادة حجم التطوير وزيادة حجم استدعاءات واجهة برمجة التطبيقات، نجحت TronGrid في تحقيق الزيادة في حركة مرور واجهة برمجة التطبيقات.
10.3 الأدوات

يقدم TRON مجموعة من أدوات التطوير لتمكين المطورين من إنشاء تطبيقات لامركزية مبتكرة.
TronBox هو إطار عمل يسمح للمطورين باختبار ونشر smart contracts عبر TronWeb واجهة برمجة التطبيقات. TronGrid عبارة عن خدمة API متوازنة ومستضافة تسمح للمطورين بالوصول إلى TRON الشبكة دون الحاجة إلى تشغيل عقدة خاصة بها. يوفر TronGrid إمكانية الوصول إلى كل من Shasta testnet بالإضافة إلى TRON Mainnet. TronStudio هو تطوير متكامل وشامل البيئة (IDE) التي تمكن المطورين من تجميع ونشر وتصحيح برنامج Solidity الخاص بهم بطريقة ذكية العقود. يحتوي TronStudio على عقدة داخلية كاملة تنشئ بيئة محلية خاصة لـ smart contract الاختبار قبل النشر. تعمل مكتبة TronWeb API على توصيل المطورين بالشبكة الشبكة عبر مجموعة واسعة من مكالمات HTTP API المغلفة في JavaScript.
10.4 الموارد

يعد مركز المطورين TRON موقعًا شاملاً لتوثيق واجهة برمجة التطبيقات (API) مصمم خصيصًا لـ 12 المطورين الراغبين في البناء على شبكة TRON. يوفر مركز المطور مستوى عال الفهم المفاهيمي لـ TRON ويرشد المستخدمين إلى تفاصيل التفاعل مع 12 مركز المطورين: https://developers.tron.network/

شبكة. ترشد الأدلة المطورين خلال عملية إعداد العقدة ونشرها والتفاعل معها العقود، وتفاعل واجهة برمجة التطبيقات (API) وتنفيذها، وبناء نماذج من التطبيقات اللامركزية (DApps)، واستخدام كل منها أدوات المطور. بالإضافة إلى ذلك، تتوفر قنوات مجتمع المطورين من خلال Discord.
13

13 الخلاف: https://discordapp.com/invite/GsRgsTD

  1. الاستنتاج

TRON هو حل blockchain قابل للتطوير يستخدم أساليب مبتكرة لمعالجة التحديات التي تواجهها شبكات blockchain القديمة. بعد أن وصل إلى أكثر من 2 مليون معاملة يوميًا، مع أكثر من 700 ألف حساب TRX، وتجاوز 2000 TPS، TRON مكن المجتمع من إنشاء شبكة لامركزية وديمقراطية.