Buku Putih TRON

Por Justin Sun · 2017

Introducción

1.1 Visión

TRON es un ambicioso proyecto dedicado al establecimiento de una Internet verdaderamente descentralizada y su infraestructura. El protocolo TRON, uno de los sistemas operativos basados en blockchain más grandes del mundo. mundo, ofrece soporte público blockchain de alto rendimiento, alta escalabilidad y alta disponibilidad para todas las aplicaciones descentralizadas (DApps) en el ecosistema TRON. La adquisición en julio de 2018 de BitTorrent consolidó aún más el liderazgo de TRON en la búsqueda de un ecosistema descentralizado.
1.2 Antecedentes

La introducción de Bitcoin en 2009 revolucionó la percepción que tenía la sociedad sobre el sistema financiero tradicional. tras la Gran Recesión (2007-2008). Como fondos de cobertura y bancos centralizados colapsado por la especulación en derivados financieros opacos, la tecnología blockchain proporcionó una libro de contabilidad universal transparente del que cualquiera podría obtener información sobre transacciones. el las transacciones se aseguraron criptográficamente mediante un mecanismo de consenso de prueba de trabajo (PoW), evitando así problemas de doble gasto.

A finales de 2013, el documento técnico Ethereum propuso una red en la que smart contracts y un La máquina virtual Ethereum completa de Turing (EVM) permitiría a los desarrolladores interactuar con la red a través de DApps. Sin embargo, como los volúmenes de transacciones en Bitcoin y Ethereum alcanzaron su punto máximo en 2017, Era evidente por los bajos tiempos de procesamiento de las transacciones y las altas tarifas de transacción que Las criptomonedas como Bitcoin y Ethereum en su estado actual no eran escalables para uso generalizado. adopción. Por lo tanto, TRON fue fundada y concebida como una solución innovadora para estos apremiantes desafíos de escalabilidad.

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

1.3 Historia El TRON DAO se estableció en julio de 2017 en Singapur. En diciembre de 2017, TRON tuvo lanzó su protocolo de código abierto. Testnet, Blockchain Explorer y Web Wallet fueron todos lanzado en marzo de 2018. TRON Mainnet se lanzó poco después, en mayo de 2018, marcando el Lanzamiento de Odyssey 2.0 como un hito técnico. En junio de 2018, TRON declaró su independencia con la creación del bloque Génesis, junto con la adquisición de BitTorrent en julio de 2018. en En octubre de 2018, TRON lanzó la TRON Virtual Machine (TVM), un completo conjunto de herramientas para desarrolladores. y sistema de soporte 360. La hoja de ruta TRON implica combinar los 100 millones de usuarios de BitTorrent con la red TRON a través del Proyecto Atlas, además de fomentar que la comunidad de desarrolladores lance Nuevas y emocionantes DApps en la red TRON1. 1 V1.0 está disponible en https://tron.network/static/doc/white_paper_v_1_0.pdf

1.4 Terminología

Dirección/Monedero Una dirección o billetera que consta de credenciales de cuenta en la red TRON es generada por un par de claves, que consta de una clave privada y una clave pública, esta última derivada de la primera a través de un algoritmo. La clave pública se utiliza generalmente para el cifrado de la clave de sesión, la firma verificación y cifrado de datos que podrían descifrarse mediante la clave privada correspondiente.

ABI Una interfaz binaria de aplicación (ABI) es una interfaz entre dos módulos de programa binario; normalmente uno de estos módulos es una biblioteca o una instalación del sistema operativo, y el otro es una ejecución del usuario programa.

API Una interfaz de programación de aplicaciones (API) se utiliza principalmente para el desarrollo de clientes de usuarios. Con API soporte, token las plataformas de emisión también pueden ser diseñadas por los propios desarrolladores.

Activo En los documentos de TRON, el activo es el mismo que token, que también se indica como TRC-10 token.

Puntos de ancho de banda (BP) Para mantener la red funcionando sin problemas, las TRON transacciones de la red utilizan BP como combustible. cada cuenta obtiene 5000 BP diarios gratis y se puede obtener más congelando TRX para BP. Tanto TRX como TRC-10 Las transferencias token son transacciones normales que le cuestan a BP. Implementación y ejecución de contratos inteligentes Las transacciones consumen tanto BP como energía.

Bloquear Los bloques contienen los registros digitales de las transacciones. Un bloque completo consta del número mágico, tamaño de bloque, encabezado de bloque, contador de transacciones y datos de transacción.

Recompensa de bloque Las recompensas por producción de bloques se envían a una subcuenta (dirección/billetera). Los súper representantes pueden reclame sus recompensas en Tronscan o directamente a través de la API.

Encabezado de bloque Un encabezado de bloque es parte de un bloque. Los encabezados de bloque TRON contienen el hash del bloque anterior, el Raíz de Merkle, marca de tiempo, versión y dirección del testigo.Cartera fría La billetera fría, también conocida como billetera fuera de línea, mantiene la clave privada completamente desconectada de cualquier red. Las billeteras frías generalmente se instalan en dispositivos "fríos" (por ejemplo, computadoras o teléfonos móviles). permanecer fuera de línea) para garantizar la seguridad de la clave privada TRX.

DApp La aplicación descentralizada es una aplicación que funciona sin una parte de confianza central. una aplicacion que permite la interacción/acuerdos/comunicación directa entre usuarios finales y/o recursos sin intermediario.

gRPC gRPC (gRPC Remote Procedimiento Calls) es un sistema de llamada a procedimiento remoto (RPC) de código abierto 2 desarrollado inicialmente en Google. Utiliza HTTP/2 para el transporte, Protocol Buffers como interfaz lenguaje de descripción y proporciona funciones como autenticación, transmisión bidireccional y flujo control, vinculaciones bloqueantes o no bloqueantes, y cancelación y tiempos de espera. genera Enlaces de cliente y servidor multiplataforma para muchos idiomas. Escenarios de uso más comunes incluir servicios de conexión en arquitectura de estilo microservicios y conexión de dispositivos móviles, y clientes del navegador a servicios backend.

Cartera caliente La billetera activa, también conocida como billetera en línea, permite que la clave privada del usuario se use en línea, por lo que podría ser susceptible a posibles vulnerabilidades o interceptación por parte de actores maliciosos.

JDK Java Development Kit es el SDK de Java utilizado para aplicaciones Java. Es el núcleo de Java. desarrollo, que comprende el entorno de aplicaciones Java (biblioteca de clases JVM+Java) y Java herramientas.

CaosDB TRON tiene un KhaosDB en la memoria del nodo completo que puede almacenar todas las cadenas recién bifurcadas generadas dentro de un cierto período de tiempo y ayuda a los testigos a cambiar rápidamente de su propia cadena activa en una nueva cadena principal. Consulte 2.2.2 Almacenamiento estatal para obtener más detalles.

NivelDB LevelDB se adoptó inicialmente con el objetivo principal de cumplir con los requisitos de R/W rápido y rápido desarrollo. Después de lanzar Mainnet, TRON actualizó su base de datos a una totalmente personalizada uno atendía sus propias necesidades. Consulte 2.2.1 Almacenamiento Blockchain para obtener más detalles.

Raíz de Merkle Una raíz de Merkle es el hash de todos los hashes de todas las transacciones incluidas como parte de un bloque en un blockchain red. Consulte 3.1 Prueba de participación delegada (DPoS) para obtener más detalles. 2 https://en.wikipedia.org/wiki/GRPC

TRON development roadmap phase 2 timeline from July 2018 to 2019

Red de prueba pública (Shasta) Una versión de la red que se ejecuta en una configuración de un solo nodo. Los desarrolladores pueden conectarse y probar características sin preocuparse por la pérdida económica. Testnet tokens no tienen valor y cualquiera puede Solicite más al grifo público.

RPC
3 En la informática distribuida, una llamada a procedimiento remoto (RPC) es cuando un programa de computadora provoca una procedimiento (subrutina) para ejecutar en un espacio de direcciones diferente (comúnmente en otra computadora en una red compartida), que se codifica como si fuera una llamada a procedimiento normal (local), sin la programador que codifica explícitamente los detalles para la interacción remota.

Escalabilidad La escalabilidad es una característica del protocolo TRON. Es la capacidad de un sistema, red o proceso para manejar una cantidad creciente de trabajo o su potencial de ampliarse para dar cabida a ese crecimiento.

SOL SUN reemplazó a la gota como la unidad más pequeña de TRX. 1 TRX = 1.000.000 DOM.

Rendimiento El alto rendimiento es una característica de TRON Mainnet. Se mide en Transacciones Por Segundo (TPS), es decir, la capacidad máxima de transacción en un segundo.

Marca de tiempo El tiempo aproximado de producción del bloque se registra como marca de tiempo Unix, que es el número de milisegundos que han transcurrido desde las 00:00:00 01 de enero de 1970 UTC.

TKC Configuración de tokens.

CVR-10 Un estándar de criptografía token en la plataforma TRON. Es necesario seguir ciertas reglas e interfaces. al realizar una oferta inicial de monedas el TRON blockchain.

TRX TRX significa Tronix, que es la criptomoneda oficial de TRON.

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

Perkenalan

1.1 Visi

TRON adalah proyek ambisius yang didedikasikan untuk pembentukan Internet yang benar-benar terdesentralisasi dan teknologinya infrastruktur. Protokol TRON, salah satu sistem operasi berbasis blockchain terbesar di dunia dunia, menawarkan dukungan blockchain publik dengan throughput tinggi, skalabilitas tinggi, dan ketersediaan tinggi untuk semua Aplikasi Terdesentralisasi (DApps) di ekosistem TRON. Akuisisi Juli 2018 atas BitTorrent semakin mengukuhkan kepemimpinan TRON dalam mewujudkan ekosistem terdesentralisasi.
1.2 Latar Belakang

Pengenalan Bitcoin pada tahun 2009 merevolusi persepsi masyarakat terhadap keuangan tradisional sistem setelah Resesi Hebat (2007-2008). Seperti dana lindung nilai terpusat dan bank runtuh karena spekulasi derivatif keuangan yang tidak jelas, blockchain teknologi menyediakan a buku besar universal yang transparan dimana siapa pun dapat memperoleh informasi transaksi. Itu transaksi diamankan secara kriptografis menggunakan mekanisme konsensus Proof of Work (PoW), sehingga mencegah masalah pembelanjaan ganda.

Pada akhir tahun 2013, buku putih Ethereum mengusulkan jaringan di mana smart contracts dan a Mesin Virtual Ethereum Turing-complete (EVM) akan memungkinkan pengembang untuk berinteraksi dengan jaringan melalui DApps. Namun, karena volume transaksi pada Bitcoin dan Ethereum mencapai puncaknya pada tahun 2017, Hal ini terlihat dari rendahnya waktu proses transaksi dan tingginya biaya transaksi mata uang kripto seperti Bitcoin dan Ethereum dalam kondisi saat ini tidak dapat diskalakan untuk digunakan secara luas adopsi. Oleh karena itu, TRON didirikan dan diharapkan sebagai solusi inovatif untuk permasalahan mendesak ini tantangan skalabilitas.

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

1.3 Sejarah TRON DAO didirikan pada Juli 2017 di Singapura. Pada bulan Desember 2017, TRON telah meluncurkan protokol sumber terbukanya. Testnet, Blockchain Explorer, dan Web Wallet semuanya diluncurkan pada bulan Maret 2018. TRON Mainnet diluncurkan segera setelahnya pada bulan Mei 2018, menandai Rilis Odyssey 2.0 sebagai tonggak teknis. Pada bulan Juni 2018, TRON mendeklarasikan kemerdekaannya dengan pembuatan blok Genesis, bersamaan dengan akuisisi BitTorrent pada Juli 2018. Di Oktober 2018, TRON meluncurkan TRON Mesin Virtual (TVM), perangkat pengembang yang lengkap, dan sistem pendukung 360. Peta jalan TRON melibatkan penggabungan 100 juta pengguna BitTorrent dengan jaringan TRON melalui Project Atlas, serta membina komunitas pengembang untuk meluncurkan DApps baru yang menarik di jaringan TRON1. 1 V1.0 tersedia di https://tron.network/static/doc/white_paper_v_1_0.pdf

1.4 Terminologi

Alamat/Dompet Alamat atau dompet yang berisi kredensial akun di jaringan TRON dihasilkan oleh a pasangan kunci, yang terdiri dari kunci privat dan kunci publik, yang terakhir berasal dari kunci publik melalui suatu algoritma. Kunci publik biasanya digunakan untuk enkripsi kunci sesi, tanda tangan verifikasi, dan mengenkripsi data yang dapat didekripsi dengan kunci pribadi yang sesuai.

ABI Antarmuka biner aplikasi (ABI) adalah antarmuka antara dua modul program biner; biasanya salah satu modul ini adalah perpustakaan atau fasilitas sistem operasi, dan yang lainnya dijalankan oleh pengguna program.

API Antarmuka pemrograman aplikasi (API) terutama digunakan untuk pengembangan klien pengguna. Dengan API dukungan, platform penerbitan token juga dapat dirancang oleh pengembang sendiri.

Aset Dalam dokumen TRON, aset sama dengan token, yang juga dinotasikan sebagai TRC-10 token.

Titik Bandwidth (BP) Agar jaringan tetap beroperasi dengan lancar, TRON transaksi jaringan menggunakan BP sebagai bahan bakarnya. Setiap akun mendapat 5000 BP harian gratis dan lebih banyak lagi dapat diperoleh dengan membekukan TRX untuk BP. Baik TRX maupun TRC-10 token transfer adalah transaksi normal yang dikenakan biaya BP. Penerapan dan eksekusi kontrak cerdas transaksi mengkonsumsi BP dan Energi.

Blokir Blok berisi catatan digital transaksi. Satu blok lengkap terdiri dari angka ajaib, ukuran blok, header blok, penghitung transaksi, dan data transaksi.

Blokir Hadiah Hadiah produksi blok dikirim ke sub-akun (alamat/dompet). Perwakilan Super bisa klaim hadiahnya di Tronscan atau melalui API secara langsung.

Blokir Tajuk Header blok adalah bagian dari sebuah blok. TRON header blok berisi hash blok sebelumnya, Merkle root, stempel waktu, versi, dan alamat saksi.Dompet Dingin Dompet dingin, juga dikenal sebagai dompet offline, menjaga kunci pribadi tetap terputus dari siapa pun jaringan. Dompet dingin biasanya dipasang pada perangkat "dingin" (misalnya komputer atau ponsel tetap offline) untuk memastikan keamanan kunci pribadi TRX.

DApp Aplikasi Terdesentralisasi adalah Aplikasi yang beroperasi tanpa pihak yang dipercaya secara terpusat. Sebuah aplikasi yang memungkinkan interaksi/kesepakatan/komunikasi langsung antara pengguna akhir dan/atau sumber daya tanpa perantara.

gRPC gRPC (Panggilan Prosedur Jarak Jauh gRPC) adalah sistem panggilan prosedur jarak jauh (RPC) sumber terbuka 2 awalnya dikembangkan di Google. Ia menggunakan HTTP/2 untuk transportasi, Protocol Buffer sebagai antarmuka bahasa deskripsi, dan menyediakan fitur seperti otentikasi, streaming dan aliran dua arah kontrol, pengikatan pemblokiran atau non-pemblokiran, serta pembatalan dan batas waktu. Ini menghasilkan pengikatan klien dan server lintas platform untuk banyak bahasa. Skenario penggunaan paling umum termasuk menghubungkan layanan dalam arsitektur gaya layanan mikro dan menghubungkan perangkat seluler, dan klien browser ke layanan backend.

Dompet Panas Dompet panas, juga dikenal sebagai dompet online, memungkinkan kunci pribadi pengguna untuk digunakan secara online, sehingga bisa saja digunakan rentan terhadap potensi kerentanan atau intersepsi oleh aktor jahat.

JDK Java Development Kit adalah Java SDK yang digunakan untuk aplikasi Java. Ini adalah inti dari Jawa pengembangan, terdiri dari lingkungan aplikasi Java (perpustakaan kelas JVM+Java) dan Java alat.

KhaosDB TRON memiliki KhaosDB di memori node penuh yang dapat menyimpan semua rantai bercabang yang baru dihasilkan dalam jangka waktu tertentu dan mendukung saksi untuk beralih dari rantai aktifnya dengan cepat menjadi rantai utama yang baru. Lihat 2.2.2 Penyimpanan Status untuk lebih jelasnya.

TingkatDB LevelDB awalnya diadopsi dengan tujuan utama untuk memenuhi persyaratan R/W yang cepat dan cepat pengembangan. Setelah meluncurkan Mainnet, TRON meningkatkan basis datanya menjadi sepenuhnya disesuaikan seseorang memenuhi kebutuhannya sendiri. Lihat 2.2.1 Penyimpanan Blockchain untuk lebih jelasnya.

Akar Merkle Akar Merkle adalah hash dari semua hashes dari semua transaksi yang dimasukkan sebagai bagian dari blok dalam blockchain jaringan. Lihat 3.1 Bukti Kepemilikan yang Didelegasikan (DPoS) untuk rincian lebih lanjut. 2 https://en.wikipedia.org/wiki/GRPC

TRON development roadmap phase 2 timeline from July 2018 to 2019

Testnet Publik (Shasta) Versi jaringan yang berjalan dalam konfigurasi node tunggal. Pengembang dapat terhubung dan menguji fitur tanpa khawatir tentang kerugian ekonomi. Testnet tokens tidak memiliki nilai dan siapa pun bisa meminta lebih banyak dari faucet publik.

RPC
3 Dalam komputasi terdistribusi, panggilan prosedur jarak jauh (RPC) adalah ketika program komputer menyebabkan a prosedur (subrutin) untuk dieksekusi di ruang alamat yang berbeda (biasanya di komputer lain di jaringan bersama), yang diberi kode seolah-olah itu adalah panggilan prosedur normal (lokal), tanpa programmer secara eksplisit mengkodekan detail untuk interaksi jarak jauh.

Skalabilitas Skalabilitas adalah fitur Protokol TRON. Ini adalah kemampuan suatu sistem, jaringan, atau proses untuk menangani peningkatan jumlah pekerjaan atau potensinya untuk diperluas guna mengakomodasi pertumbuhan tersebut.

MATAHARI SUN menggantikan drop sebagai unit terkecil TRX. 1 TRX = 1.000.000 MATAHARI.

Hasil Throughput tinggi adalah fitur TRON Mainnet. Diukur dalam Transaksi Per Detik (TPS), yaitu kapasitas transaksi maksimal dalam satu detik.

Stempel waktu Perkiraan waktu produksi blok dicatat sebagai stempel waktu Unix, yang merupakan jumlah milidetik yang telah berlalu sejak 00:00:00 01 Jan 1970 UTC.

TKC Konfigurasi token.

KKR-10 Standar kripto token pada platform TRON. Aturan dan antarmuka tertentu harus diikuti saat mengadakan penawaran koin perdana pada TRON blockchain.

TRX TRX adalah singkatan dari Tronix, yang merupakan mata uang kripto resmi TRON.

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

Arquitectura

TRON adopta una arquitectura de 3 capas dividida en capa de almacenamiento, capa central y capa de aplicación. El protocolo TRON se adhiere a Google Protobuf, que intrínsecamente admite varios idiomas. extensión.

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

Figura 1: TRON Arquitectura de 3 capas

2.1 Núcleo

Hay varios módulos en la capa central, incluidos smart contracts, administración de cuentas y consenso. Se implementa una máquina virtual basada en pila en TRON y una instrucción optimizada Se utiliza el conjunto. Para brindar un mejor soporte a los desarrolladores de DApp, se eligió Solidity como smart contract 4 idioma, seguido por el soporte futuro de otros idiomas avanzados. Además, el consenso de TRON El mecanismo se basa en la prueba de participación delegada (DPoS) y se realizaron muchas innovaciones en para cumplir con sus requisitos únicos. 2.2 Almacenamiento

TRON diseñó un protocolo de almacenamiento distribuido único que consta de almacenamiento en bloque y estado Almacenamiento. La noción de una base de datos gráfica se introdujo en el diseño de la capa de almacenamiento para satisfacer mejor la necesidad de almacenamiento de datos diversificado en el mundo real. 2.2.1 Almacenamiento de cadena de bloques

TRON blockchain el almacenamiento elige utilizar LevelDB, desarrollado por Google y probado éxito en muchas empresas y proyectos. Tiene un alto rendimiento y admite bytes arbitrarios. matrices como claves y valores, obtención, colocación y eliminación singulares, colocación y eliminación por lotes, bidireccional iteradores y compresión simple utilizando el algoritmo Snappy muy rápido. 2.2.2 Almacenamiento estatal

TRON tiene un KhaosDB en la memoria del nodo completo que puede almacenar todas las cadenas recién bifurcadas generadas dentro de un cierto período de tiempo y ayuda a los testigos a cambiar rápidamente de su propia cadena activa en una nueva cadena principal. También puede proteger el almacenamiento blockchain haciéndolo más estable frente a terminando anormalmente en un estado intermedio. 2.3 Aplicación

Los desarrolladores pueden crear una amplia gama de DApps y billeteras personalizadas en TRON. Desde TRON permite implementar y ejecutar smart contracts, las oportunidades de las aplicaciones de servicios públicos son ilimitado. 4 Documentación oficial de Solidez: https://solidity.readthedocs.io/

2.4 Protocolo

El protocolo TRON se adhiere a Google Protocol Buffers , que es un protocolo neutral en cuanto al idioma y a la plataforma. 5 y extensible de serializar datos estructurados para su uso en protocolos de comunicaciones, almacenamiento de datos, y más. 2.4.1 Búfers de protocolo

Protocol Buffers (Protobuf) es un mecanismo flexible, eficiente y automatizado para serializar archivos estructurados. datos, similar a JSON o XML, pero mucho más pequeño, más rápido y más simple.

Las definiciones de Protobuf (.proto) se pueden utilizar para generar código para C++, Java, C#, Python, Ruby, Lenguajes Golang y Objective-C a través de los generadores de código oficiales. Varios terceros Las implementaciones también están disponibles para muchos otros idiomas. Protobuf facilita el desarrollo de clientes unificando las definiciones de API y también optimizando las transferencias de datos. Los clientes pueden tomar la API .proto del repositorio de protocolos de TRON e integrarlo a través del código generado automáticamente bibliotecas.

En comparación, Protocol Buffers es de 3 a 10 veces más pequeño y de 20 a 100 veces más rápido que XML. con una sintaxis menos ambigua. Protobuf genera clases de acceso a datos que son más fáciles de usar programáticamente. 2.4.2HTTP

El protocolo TRON proporciona una API HTTP RESTful alternativa a la API de Protobuf. ellos comparten lo mismo interfaz, pero la API HTTP se puede utilizar fácilmente en clientes javascript. 2.5 TRON Máquina virtual (TVM)

TVM es una máquina virtual ligera y completa de Turing desarrollada para el ecosistema de TRON. el TVM se conecta perfectamente con el ecosistema de desarrollo existente para proporcionar millones de soluciones globales. desarrolladores con un sistema blockchain personalizado que es eficiente, conveniente, estable, seguro y escalable.
2.6 Intercambio descentralizado (DEX)

5 Documentación oficial de Google Protocol Buffers: https://developers.google.com/protocol-buffers/La red TRON admite de forma nativa funciones de intercambio descentralizadas. Un intercambio descentralizado consta de múltiples pares comerciales. Un par comercial (notación "Exchange") es un mercado cambiario entre TRC-10 tokens, o entre un TRC-10 token y TRX. Cualquier cuenta puede crear una cuenta comercial. par entre cualquier tokens, incluso si el mismo par ya existe en la red TRON. Comercio y Las fluctuaciones de precios de los pares comerciales siguen el Protocolo Bancor. La red TRON estipula que 6 los pesos de los dos tokens en todos los pares comerciales son iguales, por lo que la relación de sus saldos es el precio entre ellos. Por ejemplo, considere un par comercial que contiene dos token, ABC y DEF. ABC tiene un saldo de 10 millones y DEF tiene un saldo de 1 millón. Como sus pesos son iguales, 10 ABC = 1 DEF. Esto significa que la relación entre ABC y DEF es 10 ABC por DEF. 2.7 Implementación

El código TRON blockchain está implementado en Java y originalmente era una bifurcación de EthereumJ.

6 Sitio web oficial del Protocolo de Bancor: https://about.bancor.network/protocol/

Arsitektur

TRON mengadopsi arsitektur 3 lapisan yang dibagi menjadi Lapisan Penyimpanan, Lapisan Inti, dan Lapisan Aplikasi. Protokol TRON mematuhi Google Protobuf, yang secara intrinsik mendukung multi-bahasa ekstensi.

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

Gambar 1: TRON Arsitektur 3 Lapisan

2.1 Inti

Ada beberapa modul di lapisan inti, termasuk smart contracts, manajemen akun, dan konsensus. Mesin virtual berbasis tumpukan diimplementasikan pada TRON dan instruksi yang dioptimalkan set digunakan. Untuk lebih mendukung pengembang DApp, Solidity dipilih sebagai smart contract 4 bahasa, diikuti dengan dukungan masa depan untuk bahasa tingkat lanjut lainnya. Selain itu, konsensus TRON mekanismenya didasarkan pada Delegated Proof of Stake (DPoS) dan banyak inovasi yang dilakukan dalam untuk memenuhi persyaratan uniknya. 2.2 Penyimpanan

TRON merancang protokol penyimpanan terdistribusi unik yang terdiri dari Block Storage dan State Penyimpanan. Gagasan tentang database grafik diperkenalkan ke dalam desain lapisan penyimpanan untuk lebih baik memenuhi kebutuhan penyimpanan data yang terdiversifikasi di dunia nyata. 2.2.1 Penyimpanan Blockchain

Penyimpanan TRON blockchain memilih menggunakan LevelDB, yang dikembangkan oleh Google dan terbukti sukses dengan banyak perusahaan dan proyek. Ini memiliki kinerja tinggi dan mendukung byte sewenang-wenang array sebagai kunci dan nilai, pengambilan tunggal, penempatan dan penghapusan, penempatan dan penghapusan batch, dua arah iterator, dan kompresi sederhana menggunakan algoritma Snappy yang sangat cepat. 2.2.2 Penyimpanan Negara

TRON memiliki KhaosDB di memori node penuh yang dapat menyimpan semua rantai bercabang yang baru dihasilkan dalam jangka waktu tertentu dan mendukung saksi untuk beralih dari rantai aktifnya dengan cepat menjadi rantai utama yang baru. Ini juga dapat melindungi penyimpanan blockchain dengan membuatnya lebih stabil berakhir secara tidak normal dalam keadaan peralihan. 2.3 Aplikasi

Pengembang dapat membuat beragam DApps dan dompet khusus di TRON. Sejak TRON memungkinkan smart contracts untuk dikerahkan dan dijalankan, peluang aplikasi utilitas adalah tidak terbatas. 4 Dokumentasi resmi soliditas: https://solidity.readthedocs.io/

2.4 Protokol

Protokol TRON mematuhi Google Protocol Buffer , yang netral bahasa, netral platform, 5 dan cara yang dapat diperluas untuk membuat serialisasi data terstruktur untuk digunakan dalam protokol komunikasi, penyimpanan data, dan banyak lagi. 2.4.1 Buffer Protokol

Protocol Buffers (Protobuf) adalah mekanisme otomatis yang fleksibel, efisien untuk membuat serialisasi terstruktur data, mirip dengan JSON atau XML, tetapi jauh lebih kecil, lebih cepat, dan sederhana.

Definisi Protobuf (.proto) dapat digunakan untuk menghasilkan kode untuk C++, Java, C#, Python, Ruby, Bahasa Golang, dan Objective-C melalui generator kode resmi. Berbagai pihak ketiga implementasi juga tersedia untuk banyak bahasa lainnya. Protobuf memudahkan pengembangan klien dengan menyatukan definisi API dan juga mengoptimalkan transfer data. Klien dapat mengambil API .proto dari repositori protokol TRON dan berintegrasi melalui kode yang dibuat secara otomatis perpustakaan.

Sebagai perbandingan, Protocol Buffer berukuran 3 hingga 10 kali lebih kecil dan 20 hingga 100 kali lebih cepat dibandingkan XML, dengan sintaksis yang tidak terlalu ambigu. Protobuf menghasilkan kelas akses data yang lebih mudah digunakan secara terprogram. 2.4.2 HTTP

TRON Protokol menyediakan alternatif API HTTP RESTful untuk API Protobuf. Mereka berbagi hal yang sama antarmuka tetapi HTTP API dapat dengan mudah digunakan di klien javascript. 2.5 TRON Mesin Virtual (TVM)

TVM adalah mesin virtual lengkap Turing yang ringan dan dikembangkan untuk ekosistem TRON. Itu TVM terhubung secara mulus dengan ekosistem pengembangan yang ada untuk menyediakan kebutuhan bagi jutaan orang di seluruh dunia pengembang dengan sistem blockchain yang dibuat khusus yang efisien, nyaman, stabil, aman, dan terukur.
2.6 Pertukaran Terdesentralisasi (DEX)

5 dokumentasi resmi Buffer Protokol Google: https://developers.google.com/protocol-buffers/Jaringan TRON secara asli mendukung fungsi pertukaran yang terdesentralisasi. Pertukaran yang terdesentralisasi terdiri dari beberapa pasangan perdagangan. Pasangan dagang (notasi “Bursa”) adalah Pasar Bursa antara TRC-10 tokens, atau antara TRC-10 token dan TRX. Akun mana pun dapat membuat perdagangan berpasangan di antara token mana pun, meskipun pasangan yang sama sudah ada di jaringan TRON. Perdagangan dan fluktuasi harga pasangan dagang mengikuti Protokol Bancor. Jaringan TRON menetapkan hal itu 6 bobot kedua token di semua pasangan dagang adalah sama, jadi rasio saldonya adalah harga di antara mereka. Misalnya, pertimbangkan pasangan perdagangan yang berisi dua token, ABC dan DEF. ABC punya saldo 10 juta dan DEF saldo 1 juta. Karena bobotnya sama, 10 ABC = 1 DEF. Artinya perbandingan ABC terhadap DEF adalah 10 ABC per DEF. 2.7 Implementasi

Kode TRON blockchain diimplementasikan di Java dan awalnya merupakan cabang dari EthereumJ.

6 Situs resmi Protokol Bancor: https://about.bancor.network/protocol/

Consenso

3.1 Prueba de participación delegada (DPoS)

El primer mecanismo de consenso es el mecanismo de consenso de prueba de trabajo (PoW). esto El protocolo está implementado actualmente en Bitcoin y Ethereum. En los sistemas PoW, las transacciones 7 8 transmitidos a través de la red se agrupan en bloques incipientes para la confirmación del minero. el El proceso de confirmación implica hashing transacciones utilizando algoritmos criptográficos hashing hasta que Se ha alcanzado la raíz de Merkle, creando un árbol de Merkle:

Figura 2: 8 transacciones TRX se hash__ en la raíz de merkle. Esta raíz merkle se incluye luego en el encabezado del bloque, que se adjunta a los bloques previamente confirmados para formar un blockchain. Esto permite un seguimiento fácil y transparente de transacciones, marcas de tiempo y otra información relacionada.

7 Bitcoin documento técnico: https://bitcoin.org/bitcoin.pdf 8 Ethereum documento técnico: https://github.com/ethereum/wiki/wiki/White-Paper

Los algoritmos criptográficos hashing son útiles en la prevención de ataques de red porque poseen varias propiedades:
9

● Tamaño de longitud de entrada/salida: el algoritmo puede pasar una entrada de cualquier longitud y tamaño, y genera un valor de longitud fija hash.
● Eficiencia: el algoritmo es relativamente fácil y rápido de calcular.
● Resistencia de preimagen: para una salida dada z, es imposible encontrar una entrada x tal que h(x) =​ ​z​. En otras palabras, el algoritmo hashing ​h(x)​ es una función unidireccional en la que solo La salida se puede encontrar, dada una entrada. Lo contrario no es posible.
● Resistencia a la colisión: es computacionalmente inviable encontrar pares ​x​1 ​≠ x​2​ ​tal que ​h(x​1​) = h(x​2​)​. En otras palabras, la probabilidad de encontrar dos entradas diferentes hashing al mismo la producción es extremadamente baja. Esta propiedad también implica una segunda resistencia a la preimagen.
● Segunda resistencia de preimagen: dada ​x​1​, y por lo tanto ​h(x​1​)​, es computacionalmente inviable encuentre cualquier ​x​2​ tal que ​h(x​1​) = h(x​2​)​. Si bien esta propiedad es similar a la ​resistencia a la colisión​, la La propiedad difiere en que dice que un atacante con un ​x​1​ dado lo encontrará computacionalmente No es factible encontrar ​x​2​ hashing a la misma salida.
● Determinista: asigna cada entrada a una y solo una salida. ● Efecto Avalanche: un pequeño cambio en la entrada da como resultado una salida completamente diferente.

Estas propiedades le dan a la red de criptomonedas su valor intrínseco al garantizar que los ataques no comprometer la red. Cuando los mineros confirman un bloque, reciben tokens como recompensa incorporada incentivo para la participación en la red. Sin embargo, a medida que la capitalización del mercado global de criptomonedas aumentó constantemente, los mineros se centralizaron y centraron sus recursos informáticos en acaparar tokens como activos, en lugar de con fines de participación en la red. Los mineros de CPU dieron paso a GPU, que a su vez dieron paso a potentes ASIC. En un estudio notable, la potencia total Se ha estimado que el consumo de la minería Bitcoin alcanza los 3 GW, comparable al de Irlanda. 10 consumo de energía. Este mismo estudio proyectó que el consumo total de energía alcanzaría los 8 GW en los próximos años. futuro.

Para resolver el problema del desperdicio de energía, el mecanismo de consenso de Prueba de Participación (PoS) fue propuesto por muchas redes nuevas. En las redes PoS, los titulares de token bloquean sus saldos token para bloquearlos. validators. Los validator se turnan para proponer y votar el siguiente bloque. Sin embargo, el problema con PoS estándar es que la influencia validator se correlaciona directamente con la cantidad de tokens bloqueados. Esto da como resultado que las partes acaparen grandes cantidades de la moneda base de la red y ejerzan influencia en el ecosistema de la red.

El mecanismo de consenso TRON utiliza un innovador sistema de prueba de participación delegada en el que 27 Los SuperRepresentantes (SR) producen bloques para la red. Cada 6 horas, los titulares de cuentas TRX quienes congelan sus cuentas pueden votar por una selección de candidatos SR, siendo los 27 mejores candidatos consideraron los SR. Los votantes pueden elegir a los SR basándose en criterios tales como proyectos patrocinados por los SR para 9 PAAR, C., PELZL, J., ​Comprensión de la criptografía: un libro de texto para estudiantes y profesionales​, 2010 ed. Springer-Verlag Berlín Heidelberg, 2010.
10 https://www.sciencedirect.com/science/article/pii/S2542435118301776aumentar la adopción de TRX y las recompensas distribuidas a los votantes. Esto permite una sociedad más democratizada y ecosistema descentralizado. Las cuentas de los SR son cuentas normales, pero su acumulación de votos les permite producir bloques. Con las bajas tasas de rendimiento de Bitcoin y Ethereum debido a su Mecanismo de consenso de PoW y problemas de escalabilidad, el sistema DPoS de TRON ofrece una solución innovadora. mecanismo que resultó en 2000 TPS en comparación con los 3 TPS de Bitcoin y los 15 TPS de Ethereum.

La red de protocolo TRON genera un bloque cada tres segundos, y cada bloque otorga 32 TRX a Súper Representantes. Se otorgará un total de 336.384.000 TRX anualmente a los 27 SR. Cada vez que un SR termina la producción de bloques, las recompensas se envían a una subcuenta en el superlibro mayor. Los SR pueden verificar, pero no utilizar directamente, estos TRX tokens. Cada uno puede realizar un retiro. SR una vez cada 24 horas, transfiriendo las recompensas de la subcuenta al SR especificado cuenta.

Los tres tipos de nodos en la red TRON son el nodo testigo, el nodo completo y el nodo de solidez. Los nodos testigo son creados por SR y son los principales responsables de la producción y propuesta de bloques. creación/votación. Los nodos completos proporcionan API y transmiten transacciones y bloques. Sincronización de nodos de solidez bloques de otros nodos completos y también proporcionan API indexables.

Konsensus

3.1 Bukti Kepemilikan yang Didelegasikan (DPoS)

Mekanisme konsensus yang paling awal adalah mekanisme konsensus Proof of Work (PoW). Ini protokol saat ini diterapkan di Bitcoin dan Ethereum . Dalam sistem PoW, transaksi 7 8 disiarkan melalui jaringan dikelompokkan menjadi blok-blok baru untuk konfirmasi penambang. Itu proses konfirmasi melibatkan hashing transaksi menggunakan algoritma kriptografi hashing hingga a akar merkle telah tercapai, menciptakan pohon merkle:

Gambar 2: 8 transaksi TRX hash dimasukkan ke dalam root merkle. Root merkle ini kemudian dimasukkan ke dalam header blok, yang mana dilampirkan ke blok yang telah dikonfirmasi sebelumnya untuk membentuk blockchain. Hal ini memungkinkan pelacakan yang mudah dan transparan transaksi, stempel waktu, dan informasi terkait lainnya.

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

Algoritma kriptografi hashing berguna dalam pencegahan serangan jaringan karena mereka memilikinya beberapa properti:
9

● Ukuran panjang Input/Output​ - Algoritme dapat meneruskan input dengan ukuran panjang berapa pun, dan menghasilkan nilai hash dengan panjang tetap.
● Efisiensi​ - Algoritma ini relatif mudah dan cepat untuk dihitung.
● Resistensi gambar awal​ - Untuk keluaran tertentu z​, tidak mungkin menemukan masukan ​x​ sedemikian rupa h(x) =​ ​z​. Dengan kata lain, algoritma hashing h(x)​ adalah fungsi satu arah yang hanya output dapat ditemukan, diberi input. Hal sebaliknya tidak mungkin dilakukan.
● Ketahanan tumbukan​ - Secara komputasi tidak mungkin menemukan pasangan ​x​1​≠ x​2​​sehingga h(x​1​) = jam(x​2​)​. Dengan kata lain, probabilitas menemukan dua input berbeda hashing menjadi sama keluarannya sangat rendah. Properti ini juga menyiratkan resistensi preimage kedua.
● Resistensi gambar awal kedua​ - Mengingat x​1​, dan dengan demikian ​h(x​1​)​, secara komputasi tidak mungkin untuk carilah x​2​ sehingga h(x​1​) = h(x​2​)​. Meskipun properti ini mirip dengan resistensi tabrakan, itu properti berbeda karena dikatakan bahwa penyerang dengan x​1​ tertentu akan menemukannya secara komputasi tidak mungkin menemukan x​2​ hashing ke keluaran yang sama.
● deterministik - memetakan setiap masukan ke satu dan hanya satu keluaran. ● Avalanche efek​ - perubahan kecil pada masukan menghasilkan keluaran yang sama sekali berbeda.

Properti ini memberikan nilai intrinsik pada jaringan mata uang kripto dengan memastikan tidak terjadi serangan mengkompromikan jaringan. Saat penambang mengonfirmasi sebuah blok, mereka diberi hadiah tokens sebagai blok bawaan insentif untuk partisipasi jaringan. Namun, seiring dengan kapitalisasi pasar cryptocurrency global terus meningkat, para penambang menjadi terpusat dan memfokuskan sumber daya komputasi mereka menimbun tokens sebagai aset, bukan untuk tujuan partisipasi jaringan. Penambang CPU menyerah GPU, yang kemudian digantikan oleh ASIC yang bertenaga. Dalam sebuah penelitian penting, kekuatan total konsumsi pertambangan Bitcoin diperkirakan mencapai 3 GW, sebanding dengan Irlandia 10 konsumsi daya. Studi yang sama memproyeksikan total konsumsi listrik akan mencapai 8 GW dalam waktu dekat masa depan.

Untuk mengatasi masalah limbah energi, diusulkan mekanisme konsensus Proof of Stake (PoS) oleh banyak jaringan baru. Dalam jaringan PoS, pemegang token mengunci saldo token mereka menjadi blok validators. validator bergiliran melamar dan memberikan suara pada blok berikutnya. Namun masalahnya dengan PoS standar adalah bahwa pengaruh validator berkorelasi langsung dengan jumlah token yang dikunci. Hal ini mengakibatkan pihak-pihak yang menimbun sejumlah besar mata uang dasar jaringan tersebut digunakan secara tidak semestinya pengaruhnya dalam ekosistem jaringan.

Mekanisme konsensus TRON menggunakan sistem Bukti Kepemilikan yang Didelegasikan yang inovatif di mana 27 Perwakilan Super (SR) menghasilkan blok untuk jaringan. Setiap 6 jam, pemegang akun TRX yang membekukan akunnya dapat memilih kandidat SR pilihan, dengan 27 kandidat teratas dianggap SR. Pemilih dapat memilih SR berdasarkan kriteria seperti proyek yang disponsori oleh SR 9 PAAR, C., PELZL, J., ​Memahami Kriptografi: Buku Ajar untuk Pelajar dan Praktisi​, edisi 2010. Springer-Verlag Berlin Heidelberg, 2010.
10 https://www.sciencedirect.com/science/article/pii/S2542435118301776meningkatkan adopsi TRX, dan penghargaan didistribusikan kepada pemilih. Hal ini memungkinkan terciptanya sistem yang lebih demokratis dan ekosistem yang terdesentralisasi. Rekening SR adalah rekening biasa, tapi akumulasi suaranya memungkinkan mereka menghasilkan blok. Dengan tingkat throughput yang rendah Bitcoin dan Ethereum karena mekanisme konsensus PoW dan masalah skalabilitas, sistem DPoS TRON menawarkan solusi inovatif mekanisme menghasilkan 2000 TPS dibandingkan dengan Bitcoin sebanyak 3 TPS dan Ethereum sebanyak 15 TPS.

Jaringan protokol TRON menghasilkan satu blok setiap tiga detik, dengan setiap blok memberikan 32 TRX ke Perwakilan Super. Sebanyak 336.384.000 TRX akan diberikan setiap tahun kepada 27 SR. Setiap kali SR menyelesaikan produksi blok, hadiah dikirim ke sub-akun di buku besar super. SR dapat memeriksa, tetapi tidak secara langsung menggunakan TRX tokens ini. Penarikan dapat dilakukan oleh masing-masing SR setiap 24 jam sekali, mentransfer hadiah dari sub-akun ke SR yang ditentukan akun.

Tiga jenis node pada jaringan TRON adalah Witness Node, Full Node, dan Solidity Node. Node saksi diatur oleh SR dan terutama bertanggung jawab untuk produksi blok dan proposal pembuatan/pemungutan suara. Node penuh menyediakan API dan menyiarkan transaksi dan blok. Sinkronisasi node soliditas blok dari Full Node lainnya dan juga menyediakan API yang dapat diindeks.

Cuenta

4.1 Tipos

Los tres tipos de cuentas en la red TRON son cuentas regulares, cuentas token y cuentas de contrato.

1. Las cuentas regulares se utilizan para transacciones estándar.
2. Las cuentas de token se utilizan para almacenar TRC-10 tokens.
3. Las cuentas de contrato son smart contract cuentas creadas por cuentas regulares y pueden activado también por cuentas regulares. 4.2 Creación

Hay tres formas de crear una cuenta TRON:

1. Crear una nueva cuenta a través de API 2. Transfiera TRX a una nueva dirección de cuenta 3. Transfiera cualquier TRC-10 token a una nueva dirección de cuenta

Un par de claves fuera de línea que consta de una dirección (clave pública) y una clave privada, y no registrada por el También se puede generar la red TRON. El algoritmo de generación de direcciones de usuario consta de generar un par de claves y luego extraer la clave pública (matriz de bytes de 64 bytes que representa x, y coordenadas). Hash la clave pública usando la función SHA3-256 (el protocolo SHA3 adoptado es KECCAK-256) y extrae los últimos 20 bytes del resultado. Agregue 41 al comienzo de la matriz de bytes y asegúrese de que la longitud de la dirección inicial sea de 21 bytes. Hash la dirección dos veces usando la función SHA3-256 y tome los primeros 4 bytes como código de verificación. Añade el código de verificación al final de la inicial. dirección y obtenga la dirección en formato base58check a través de la codificación base58. un codificado La dirección de Mainnet comienza con T y tiene 34 bytes de longitud. 4.3 Estructura

Los tres tipos de cuentas diferentes son Normal, AssetIssue y Contrato. Una cuenta contiene 7 parámetros:

1. nombre_cuenta​: el nombre de esta cuenta – p.e. Cuenta de facturas.
2. tipo​: qué tipo de cuenta es, p.e. 0 (significa tipo "Normal").
3. saldo​: saldo de esta cuenta – p.e. 4213312.

4. voto​: votos recibidos en esta cuenta – p.e. {(“0x1b7w…9xj3”,323), (“0x8djq…j12m”,88),…,(“0x82nd…mx6i”,10001)}.
5. activo​: otros activos esperados TRX en esta cuenta – p.e. {<“WishToken”, 66666>, <”Perrito”, 233>}. 6. last_operation_time​: la última hora de operación de esta cuenta.

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​; }

Akun

4.1 Jenis

Tiga jenis akun di jaringan TRON adalah akun reguler, akun token, dan akun kontrak.

1. Akun reguler digunakan untuk transaksi standar.
2. Akun token digunakan untuk menyimpan TRC-10 tokens.
3. Akun kontrak adalah smart contract akun yang dibuat oleh akun biasa dan dapat berupa dipicu oleh akun reguler juga. 4.2 Penciptaan

Ada tiga cara untuk membuat akun TRON:

1. Buat akun baru melalui API 2. Transfer TRX ke alamat akun baru 3. Transfer TRC-10 token apa pun ke alamat akun baru

Pasangan kunci offline yang terdiri dari alamat (kunci publik) dan kunci pribadi, dan tidak dicatat oleh TRON jaringan, juga dapat dihasilkan. Algoritma pembuatan alamat pengguna terdiri dari menghasilkan pasangan kunci dan kemudian mengekstraksi kunci publik (array byte 64-byte yang mewakili x, y koordinat). Hash kunci publik menggunakan fungsi SHA3-256 (protokol SHA3 yang diadopsi adalah KECCAK-256) dan ekstrak 20 byte terakhir hasilnya. Tambahkan 41 ke awal array byte dan pastikan panjang alamat awal adalah 21 byte. Hash alamatnya dua kali menggunakan fungsi SHA3-256 dan ambil 4 byte pertama sebagai kode verifikasi. Tambahkan kode verifikasi di akhir inisial alamat dan dapatkan alamat dalam format base58check melalui pengkodean base58. Sebuah kode Alamat mainnet dimulai dengan T dan panjangnya 34 byte. 4.3 Struktur

Tiga jenis akun yang berbeda adalah Normal, AssetIssue, dan Kontrak. Akun berisi 7 parameter:

1. account_name​: nama untuk akun ini – mis. Akun Tagihan.
2. type​: jenis akun ini – mis. 0 (singkatan dari tipe 'Normal').
3. saldo​: saldo akun ini – mis. 4213312.

4. vote​: menerima suara di akun ini – mis. {(“0x1b7w…9xj3”,323), (“0x8djq…j12m”,88),…,(“0x82nd…mx6i”,10001)}.
5. aset​: aset lain yang diharapkan TRX di akun ini – mis. {<"Token Keinginan", 66666>, <"Anjing", 233>}. 6. last_operation_time​: waktu pengoperasian terakhir akun ini.

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​; }

Bloque

Un bloque normalmente contiene un encabezado de bloque y varias transacciones.

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

Un encabezado de bloque contiene ​raw_data​, ​witness_signature​ y ​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 Datos sin procesar

Los datos sin procesar se indican como ​raw_data​ en Protobuf. Contiene los datos sin procesar de un mensaje, que contiene 6 parámetros:

1. marca de tiempo​: marca de tiempo de este mensaje – p.e. 1543884429000. 2. txTrieRoot​: la raíz del árbol Merkle – p.e. 7dacsa…3ed. 3. parentHash​: el hash del último bloque – p.e. 7dacsa…3ed. 4. número​: la altura del bloque – p.e. 4638708. 5. versión​: reservada – p.ej. 5.

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

6. dirección_testigo​: la dirección del testigo incluida en este bloque – p.e. 41928c...4d21. 5.1.2 Firma del testigo

La firma del testigo se indica como ​witness_signature​ en Protobuf, que es la firma de este bloquear el encabezado del nodo testigo. 5.1.3 ID de bloque

El ID de bloque se indica como ​blockID​ en Protobuf. Contiene la identificación atómica de un bloque. un bloque La identificación contiene 2 parámetros: 1. hash​: el hash del bloque. 2. número​: el hash y altura del bloque. 5.2 Transacción 5.2.1 Firma

El proceso de firma de transacciones de TRON sigue un algoritmo criptográfico estándar ECDSA, con un Curva de selección SECP256K1. Una clave privada es un número aleatorio y la clave pública es un punto en la curva elíptica. El proceso de generación de clave pública consiste en generar primero un número aleatorio como clave privada y luego multiplicar el punto base de la curva elíptica por la clave privada para obtener la clave pública. Cuando se produce una transacción, los datos sin procesar de la transacción se convierten primero al formato de bytes. Los datos sin procesar luego se someten a SHA-256 hashing. La clave privada correspondiente al contrato. La dirección luego firma el resultado del SHA256 hash. El resultado de la firma luego se agrega al transacción.
5.2.2 Modelo de ancho de banda

Las transacciones ordinarias solo consumen puntos de ancho de banda, pero las operaciones smart contract consumen ambos puntos de energía y ancho de banda. Hay dos tipos de puntos de ancho de banda disponibles. Los usuarios pueden ganar puntos de ancho de banda de congelar TRX, mientras que 5000 puntos de ancho de banda gratuitos también están disponibles diariamente.

Cuando se transmite una transacción TRX, se transmite y almacena en forma de una matriz de bytes sobre la red. Puntos de ancho de banda consumidos por una transacción = número de bytes de transacción multiplicado por la tasa de puntos de ancho de banda. Por ejemplo, si la longitud de la matriz de bytes de una transacción es 200, entonces la transacción consume 200 puntos de ancho de banda. Sin embargo, si una transferencia TRX o token resulta en la cuenta de destino que se está creando, entonces solo los puntos de ancho de banda consumidos para crear la cuenta se deducirán y no se deducirán puntos de ancho de banda adicionales. En la creación de una cuenta En este escenario, la red consumirá primero los puntos de ancho de banda que obtuvo el iniciador de la transacción.por congelar TRX. Si esta cantidad es insuficiente, entonces la red consume la transacción. TRX del iniciador.

En escenarios de transferencia TRX estándar de una cuenta TRX a otra, la red primero consume los puntos de ancho de banda obtenidos por el iniciador de la transacción para congelar TRX. Si eso es insuficiente, entonces consume de los 5000 puntos de ancho de banda diarios gratuitos. Si esto todavía no es suficiente, entonces la red Consume el TRX del iniciador de la transacción. La cantidad se calcula por el número de bytes en la transacción multiplicada por 10 DOM. Por lo tanto, para la mayoría de los poseedores de TRX, que no necesariamente pueden congelar su TRX para participar en la votación SR, el primer paso se omite automáticamente (ya que el saldo TRX frozen = 0) y los 5000 anchos de banda gratuitos diarios impulsan la transacción.

Para transferencias TRC-10 token, la red primero verifica si el total de puntos de ancho de banda libres del activo emitido token son suficientes. De lo contrario, los puntos de ancho de banda obtenidos al congelar TRX son consumido. Si todavía no hay suficientes puntos de ancho de banda, entonces consume el TRX de la transacción. iniciador.

5.2.3 Tarifa

La red TRON generalmente no cobra tarifas por la mayoría de las transacciones; sin embargo, debido al sistema Las restricciones y la equidad, el uso del ancho de banda y las transacciones conllevan ciertas tarifas.

Los cargos por tarifas se dividen en las siguientes categorías: 1. Las transacciones normales cuestan puntos de ancho de banda. Los usuarios pueden utilizar los puntos de ancho de banda diarios gratuitos. (5000) o congelar TRX para obtener más. Cuando los puntos de ancho de banda no sean suficientes, TRX será utilizado directamente desde la cuenta emisora. El TRX necesario es la cantidad de bytes * 10 SUN. 2. Los contratos inteligentes cuestan energía (Sección 6), pero también necesitarán puntos de ancho de banda para el transacción que será transmitida y confirmada. El costo del ancho de banda es el mismo que el anterior. 3. Todas las transacciones de consulta son gratuitas. No cuesta energía ni ancho de banda.

La red TRON también define un conjunto de tarifas fijas para las siguientes transacciones: 1. Creando un nodo testigo: 9999 TRX 2. Emitiendo un TRC-10 token: 1024 TRX 3. Creando una nueva cuenta: 0.1 TRX 4. Creando un par de intercambio: 1024 TRX 5.2.4 Transacción como prueba de participación (TaPoS)

TRON usa TaPoS para garantizar que todas las transacciones confirmen el blockchain principal, mientras lo hace Es difícil falsificar cadenas. En TaPoS, las redes requieren que cada transacción incluya parte de el hash de un encabezado de bloque reciente. Este requisito evita que las transacciones se repitan en se bifurca sin incluir el bloque al que se hace referencia, y también indica a la red que un usuario en particular y sulo que está en juego está en una bifurcación específica. Este mecanismo de consenso protege la red contra la Denegación de Servicio, 51%, minería egoísta y ataques de doble gasto.
5.2.5 Confirmación de transacción

Una transacción se incluye en un bloque futuro después de ser transmitida a la red. Después de 19 cuadras son minado el TRON (incluido su propio bloque), se confirma la transacción. Cada bloque es producido por uno de los 27 mejores Súper Representantes en un sistema de todos contra todos. Cada bloque tarda ~3 segundos en ser extraído en el blockchain. El tiempo puede variar ligeramente para cada Súper Representante debido a la red. condiciones y configuraciones de la máquina. En general, una transacción se considera totalmente confirmada después ~1 minuto. 5.2.6 Estructura

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 } } }

Blok

Sebuah blok biasanya berisi header blok dan beberapa transaksi.

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

Header blok berisi ​raw_data​, ​witness_signature​, dan ​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 Data Mentah

Data mentah dilambangkan sebagai​raw_data​ di Protobuf. Ini berisi data mentah dari sebuah pesan, berisi 6 parameter:

1. stempel waktu​: stempel waktu pesan ini – mis. 1543884429000. 2. txTrieRoot​: Akar Pohon Merkle – mis. 7dacsa…3ed. 3. parentHash​: hash dari blok terakhir – mis. 7dacsa…3ed. 4. nomor​: tinggi balok – mis. 4638708. 5. versi​: dicadangkan – mis. 5.

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

6. Witness_address​: alamat saksi yang dikemas dalam blok ini – mis. 41928c...4d21. 5.1.2 Tanda Tangan Saksi

Tanda tangan saksi dilambangkan dengan tanda tangan saksi di Protobuf, yang merupakan tanda tangan untuk ini blok header dari node saksi. 5.1.3 ID Blokir

ID Blok dilambangkan sebagai ​blockID​ di Protobuf. Ini berisi identifikasi atom suatu blok. Sebuah Blok ID berisi 2 parameter: 1. hash​: hash blok. 2. nomor​: hash dan tinggi balok. 5.2 Transaksi 5.2.1 Penandatanganan

Proses penandatanganan transaksi TRON mengikuti algoritma kriptografi ECDSA standar, dengan a Kurva seleksi SECP256K1. Kunci privat adalah angka acak, dan kunci publik adalah sebuah titik di kurva elips. Proses pembuatan kunci publik terdiri dari pembangkitan nomor acak terlebih dahulu sebagai a kunci privat, lalu mengalikan titik dasar kurva elips dengan kunci privat untuk mendapatkan kunci publik. Ketika suatu transaksi terjadi, data mentah transaksi diubah terlebih dahulu ke dalam format byte. Data mentah kemudian mengalami SHA-256 hashing. Kunci pribadi yang sesuai dengan kontrak alamat kemudian menandatangani hasil SHA256 hash. Hasil tanda tangan kemudian ditambahkan ke transaksi.
5.2.2 Model Bandwidth

Transaksi biasa hanya menggunakan titik bandwidth, tetapi operasi smart contract menggunakan keduanya titik energi dan bandwidth. Ada dua jenis titik bandwidth yang tersedia. Pengguna bisa mendapatkan keuntungan titik bandwidth dari pembekuan TRX, sementara 5000 titik bandwidth gratis juga tersedia setiap hari.

Ketika transaksi TRX disiarkan, transaksi tersebut ditransmisikan dan disimpan dalam bentuk array byte jaringan. Bandwidth Poin yang dikonsumsi oleh satu transaksi = jumlah byte transaksi dikalikan dengan tingkat poin bandwidth. Misalnya, jika panjang array byte suatu transaksi adalah 200, maka transaksi tersebut menghabiskan 200 titik bandwidth. Namun, jika transfer TRX atau token menghasilkan akun target yang dibuat, maka hanya titik bandwidth yang dikonsumsi untuk membuat akun tersebut akan dipotong, dan poin bandwidth tambahan tidak akan dipotong. Dalam pembuatan akun skenario, jaringan pertama-tama akan menggunakan titik bandwidth yang diperoleh pemrakarsa transaksidari pembekuan TRX. Jika jumlah ini tidak mencukupi, maka jaringan akan menghabiskan transaksi tersebut TRX inisiator.

Dalam skenario transfer TRX standar dari satu akun TRX ke akun TRX lainnya, jaringan akan menggunakan yang pertama poin bandwidth yang diperoleh pemrakarsa transaksi untuk membekukan TRX. Jika itu tidak cukup, maka lakukanlah mengkonsumsi dari 5.000 poin bandwidth harian gratis. Jika itu masih belum cukup, maka jaringan mengkonsumsi TRX dari pemrakarsa transaksi. Jumlahnya dihitung berdasarkan jumlah byte yang masuk transaksi dikalikan 10 SUN. Jadi, bagi sebagian besar pemegang TRX yang belum tentu membeku TRX mereka untuk berpartisipasi dalam pemungutan suara SR, langkah pertama otomatis dilewati (karena saldo TRX dibekukan = 0) dan 5.000 bandwidth gratis setiap hari mendukung transaksi.

Untuk transfer TRC-10 token, jaringan terlebih dahulu memverifikasi apakah total titik bandwidth bebas dari aset token yang diterbitkan sudah mencukupi. Jika tidak maka bandwidth point yang didapat dari pembekuan TRX adalah dikonsumsi. Jika titik bandwidth masih belum cukup, maka akan menghabiskan TRX transaksi pemrakarsa.

5.2.3 Biaya

Jaringan TRON umumnya tidak mengenakan biaya untuk sebagian besar transaksi, namun karena sistem pembatasan dan keadilan, penggunaan bandwidth dan transaksi memerlukan biaya tertentu.

Biaya biaya dibagi menjadi beberapa kategori berikut: 1. Transaksi normal memerlukan poin bandwidth. Pengguna dapat menggunakan poin bandwidth harian gratis (5000) atau bekukan TRX untuk mendapatkan lebih banyak. Ketika titik bandwidth tidak mencukupi, TRX akan mencukupi digunakan langsung dari rekening pengirim. TRX yang dibutuhkan adalah jumlah byte * 10 SUN. 2. Kontrak pintar membutuhkan energi (Bagian 6) tetapi juga memerlukan titik bandwidth untuk itu transaksi untuk disiarkan dan dikonfirmasi. Biaya bandwidth sama seperti di atas. 3. Semua transaksi kueri gratis. Itu tidak memerlukan energi atau bandwidth.

Jaringan TRON juga menetapkan serangkaian biaya tetap untuk transaksi berikut: 1. Membuat simpul saksi: 9999 TRX 2. Menerbitkan TRC-10 token: 1024 TRX 3. Membuat akun baru: 0,1 TRX 4. Membuat pasangan pertukaran: 1024 TRX 5.2.4 Transaksi sebagai Bukti Kepemilikan (TaPoS)

TRON menggunakan TaPoS untuk memastikan semua transaksi mengkonfirmasi blockchain utama, sambil membuatnya sulit untuk memalsukan rantai palsu. Di TaPoS, jaringan mengharuskan setiap transaksi menyertakan bagian dari hash dari header blok terbaru. Persyaratan ini mencegah transaksi diputar ulang garpu tidak termasuk blok yang direferensikan, dan juga memberi sinyal pada jaringan bahwa pengguna tertentu dan merekataruhannya berada pada garpu tertentu. Mekanisme konsensus ini melindungi jaringan dari Penolakan Layanan, 51%, penambangan egois, dan serangan pembelanjaan ganda.
5.2.5 Konfirmasi Transaksi

Suatu transaksi dimasukkan dalam blok masa depan setelah disiarkan ke jaringan. Setelah 19 blok ditambang pada TRON (termasuk bloknya sendiri), transaksi dikonfirmasi. Setiap blok diproduksi oleh salah satu dari 27 Perwakilan Super teratas dalam mode round robin. Setiap blok membutuhkan waktu ~3 detik untuk melakukannya ditambang di blockchain. Waktu mungkin sedikit berbeda untuk setiap Perwakilan Super karena jaringannya kondisi dan konfigurasi mesin. Secara umum, suatu transaksi dianggap dikonfirmasi sepenuhnya setelahnya ~1 menit. 5.2.6 Struktur

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 Máquina virtual

6.1 Introducción

TRON Virtual Machine (TVM) es una máquina virtual ligera y completa de Turing desarrollada para El ecosistema de TRON. Su objetivo es proporcionar un sistema blockchain personalizado que sea eficiente, conveniente, estable, seguro y escalable.

TVM inicialmente se bifurcó de EVM y puede conectarse sin problemas con la solidez existente smart contract 11 ecosistema de desarrollo. En base a eso, TVM también admite el consenso DPoS.

TVM emplea el concepto de Energía. A diferencia del mecanismo de gas en EVM, las operaciones de las transacciones y smart contracts en TVM son gratuitas y no se consume TRX. Técnicamente, ejecutable La capacidad de cálculo en TVM no está restringida por la cantidad total de tenencias de tokens. 6.2 Flujo de trabajo

El compilador primero traduce Solidity smart contract a código de bytes legible y ejecutable en la TVM. Luego, TVM procesa datos a través de código de operación, lo que equivale a operar la lógica. de una máquina de estados finitos basada en pila. Finalmente, TVM accede a blockchain datos e invoca Interfaz de Datos Externos a través de la capa de Interoperación. 11 EVM: Ethereum Máquina virtual (https://github.com/ethereum/ethereumj)

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

Figura 3: Flujo de trabajo TVM

6.3 Rendimiento 6.3.1 Arquitectura ligera

TVM adopta una arquitectura ligera con el objetivo de reducir el consumo de recursos para garantizar rendimiento del sistema. 6.3.2 Robusto

Las transferencias TRX y la ejecución smart contract cuestan solo puntos de ancho de banda, en lugar de TRX, que exime a TRON de ser atacado. El consumo de ancho de banda es predecible y estático ya que cada El costo del paso computacional es fijo. 6.3.3 Alta compatibilidad

TVM es compatible con EVM y será compatible con más máquinas virtuales convencionales en el futuro. Por lo tanto, todos los smart contracts en EVM son ejecutables en TVM. 6.3.4 Bajo Costo

Gracias a la configuración del ancho de banda de TVM, los costos de desarrollo se reducen y los desarrolladores pueden concentrarse en desarrollo lógico de su código de contrato. TVM también ofrece interfaces todo en uno para contrato implementación, activación y visualización para ofrecer comodidad a los desarrolladores.

TRON Mesin Virtual

6.1 Pendahuluan

TRON Mesin Virtual (TVM) adalah mesin virtual lengkap Turing ringan yang dikembangkan untuk ekosistem TRON. Tujuannya adalah untuk menyediakan sistem blockchain yang dibuat khusus dan efisien, nyaman, stabil, aman dan terukur.

TVM awalnya bercabang dari EVM dan dapat terhubung secara mulus dengan soliditas yang ada smart contract 11 ekosistem pembangunan. Berdasarkan hal tersebut, TVM juga mendukung konsensus DPoS.

TVM menggunakan konsep Energi. Berbeda dengan mekanisme Gas pada EVM, pengoperasiannya transaksi dan smart contracts di TVM gratis, tanpa menggunakan TRX. Secara teknis, dapat dieksekusi kapasitas komputasi di TVM tidak dibatasi oleh total jumlah penyimpanan tokens. 6.2 Alur Kerja

Kompiler pertama-tama menerjemahkan Soliditas smart contract menjadi bytecode yang dapat dibaca dan dieksekusi di TVM. TVM kemudian memproses data melalui opcode, yang setara dengan mengoperasikan logika dari mesin negara terbatas berbasis tumpukan. Terakhir, TVM mengakses blockchain data dan memanggil Antarmuka Data Eksternal melalui lapisan Interoperasi. 11 EVM: Ethereum Mesin Virtual (https://github.com/ethereum/ethereumj)

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

Gambar 3: Alur Kerja TVM

6.3 Kinerja 6.3.1 Arsitektur Ringan

TVM mengadopsi arsitektur ringan dengan tujuan mengurangi konsumsi sumber daya sebagai jaminan kinerja sistem. 6.3.2 Kuat

Transfer TRX dan smart contract eksekusi hanya memerlukan poin bandwidth, bukan TRX, yang mana mengecualikan TRON dari serangan. Konsumsi bandwidth dapat diprediksi dan statis sejak keduanya biaya langkah komputasi adalah tetap. 6.3.3 Kompatibilitas Tinggi

TVM kompatibel dengan EVM dan akan kompatibel dengan lebih banyak VM mainstream di masa mendatang. Dengan demikian, semua smart contract di EVM dapat dieksekusi di TVM. 6.3.4 Biaya Rendah

Karena pengaturan bandwidth TVM, biaya pengembangan berkurang dan pengembang dapat fokus pada hal tersebut pengembangan logika kode kontrak mereka. TVM juga menawarkan antarmuka lengkap untuk kontrak penerapan, pemicuan, dan tampilan untuk menawarkan kenyamanan bagi pengembang.

Contrato inteligente

7.1 Introducción

Un smart contract es un protocolo que verifica digitalmente la negociación del contrato. Definen las reglas y sanciones relacionadas con un acuerdo y también hacer cumplir automáticamente esas obligaciones. el inteligente El código de contrato facilita, verifica y hace cumplir la negociación o ejecución de un acuerdo o transacción. Desde una perspectiva de tokenización, los smart contracts también facilitan los fondos automáticos transferencias entre partes participantes si se cumplen ciertos criterios.

TRON smart contracts están escritos en el lenguaje Solidity. Una vez escritos y probados, pueden ser compilado en código de bytes y luego implementado en la red TRON para la máquina virtual TRON. una vez implementado, smart contracts se pueden consultar a través de sus direcciones de contrato. La solicitud del contrato La interfaz binaria (ABI) muestra las funciones de llamada del contrato y se utiliza para interactuar con el red. 7.2 Modelo Energético

El límite máximo de energía para desplegar y activar un smart contract es función de varios variables:

● La energía dinámica procedente de la congelación de 1 TRX es 50 000 000 000 (límite de energía total) / (energía total Peso) ● El límite de energía es el límite de energía diario de la cuenta por congelar TRX ● La energía restante diaria de la cuenta por congelar TRX se calcula como Límite de energía - Energía Usado ● El límite de tarifa en TRX se establece en smart contract llamada de implementación/activación ● TRX utilizable restante en la cuenta ● Energía por TRX si se compra directamente (10 SUN = 1 Energía) = 100,000, los SR pueden votar ajuste

Hay dos escenarios de consumo para calcular el límite máximo de energía para la implementación y disparador. La lógica se puede expresar de la siguiente manera:
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 Implementación

Cuando se compila una TRON solidez smart contract, la Máquina Virtual TRON lee el compilado código de bytes. El código de bytes consta de una sección para la implementación del código, el código de contrato y los datos auxiliares. Los datos auxiliares son la huella digital criptográfica del código fuente, que se utiliza para la verificación. El despliegue bytecode ejecuta la función constructora y configura las variables de almacenamiento iniciales. El despliegue El código también calcula el código del contrato y lo devuelve al TVM. El ABI es un archivo JSON que describe las funciones de TRON smart contract. Este archivo define los nombres de las funciones, su pagabilidad, los valores de retorno de la función y su mutabilidad de estado. 7.4 Función de disparo

Una vez que se implementan los TRON smart contracts, sus funciones se pueden activar individualmente a través de TronStudio o mediante llamadas API. Las funciones de cambio de estado requieren energía, mientras que las funciones de solo lectura ejecutar sin energía. 7.5 TRON Solidez

TRON Solidity es una bifurcación del lenguaje Solidity de Ethereum. TRON modifica el proyecto original para Admite unidades TRX y SUN (1 TRX = 1.000.000 SUN). El resto de la sintaxis del lenguaje es compatible con Solidez ^0.4.24. Así la Máquina Virtual Tron (TVM) es casi 100% compatible con EVM instrucciones.

Kontrak Cerdas

7.1 Pendahuluan

smart contract adalah protokol yang memverifikasi negosiasi kontrak secara digital. Mereka mendefinisikan aturan dan hukuman yang terkait dengan suatu perjanjian dan juga secara otomatis menegakkan kewajiban tersebut. Yang pintar kode kontrak memfasilitasi, memverifikasi, dan menegakkan negosiasi atau kinerja perjanjian atau transaksi. Dari perspektif tokenisasi, smart contracts juga memfasilitasi pendanaan otomatis transfer antara pihak-pihak yang berpartisipasi jika kriteria tertentu dipenuhi.

TRON smart contracts ditulis dalam bahasa Soliditas. Setelah ditulis dan diuji, mereka bisa dikompilasi menjadi bytecode, kemudian disebarkan ke jaringan TRON untuk Mesin Virtual TRON. Sekali dikerahkan, smart contracts dapat ditanyakan melalui alamat kontraknya. Aplikasi kontrak Antarmuka Biner (ABI) menunjukkan fungsi panggilan kontrak dan digunakan untuk berinteraksi dengan jaringan. 7.2 Model Energi

Batas energi maksimum untuk meluncurkan dan memicu smart contract merupakan fungsi dari beberapa fungsi variabel:

● Energi dinamis dari pembekuan 1 TRX adalah 50.000.000.000 (Batas Energi Total) / (Energi Total Berat) ● Batas energi adalah batas energi akun harian dari pembekuan TRX ● Energi akun harian yang tersisa dari pembekuan TRX dihitung sebagai Batas Energi - Energi Digunakan ● Batas biaya di TRX diatur dalam smart contract panggilan penerapan/pemicu ● TRX yang tersisa dapat digunakan di akun ● Energi per TRX jika dibeli langsung (10 SUN = 1 Energi) = 100.000, SR dapat melakukan voting penyesuaian

Ada dua skenario konsumsi untuk menghitung batas energi maksimum untuk penerapan dan pemicu. Logikanya dapat diungkapkan sebagai berikut:
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 Penerapan

Ketika TRON soliditas smart contract dikompilasi, Mesin Virtual TRON membaca kompilasi kode byte. Bytecode terdiri dari bagian untuk penerapan kode, kode kontrak, dan Auxdata. Auxdata adalah sidik jari kriptografi kode sumber, yang digunakan untuk verifikasi. Penyebaran bytecode menjalankan fungsi konstruktor dan menyiapkan variabel penyimpanan awal. Penyebaran kode juga menghitung kode kontrak dan mengembalikannya ke TVM. ABI adalah file JSON yang menjelaskan fungsi TRON smart contract. File ini mendefinisikan nama fungsi, pembayarannya, nilai pengembalian fungsi, dan mutabilitas statusnya. 7.4 Fungsi Pemicu

Setelah TRON smart contract dikerahkan, fungsinya dapat dipicu secara individual baik melalui TronStudio atau melalui panggilan API. Fungsi pengubah status memerlukan Energi sedangkan fungsi hanya baca mengeksekusi tanpa Energi. 7.5 TRON Soliditas

TRON Soliditas adalah cabang dari bahasa Soliditas Ethereum. TRON memodifikasi proyek asli menjadi mendukung unit TRX dan SUN (1 TRX = 1.000.000 SUN). Sintaks bahasa lainnya adalah kompatibel dengan Soliditas ^0.4.24. Dengan demikian Tron Virtual Machine (TVM) hampir 100% kompatibel dengan instruksi EVM.

Token

8.1 Ficha TRC-10

En la red TRON, cada cuenta puede emitir tokens a expensas de 1024 TRX. ​Para emitir tokens, el emisor debe especificar un nombre token, la capitalización total, el tipo de cambio a TRX, duración de la circulación, descripción, sitio web, consumo máximo de ancho de banda por cuenta, total consumo de ancho de banda y la cantidad de token congelada. Cada emisión token también puede configurar el máximo diario de transferencia de token puntos de ancho de banda de cada cuenta, el máximo diario de toda la red token transfiere puntos de ancho de banda, suministro total de token, duración del bloqueo en días y monto total de tokens bloqueados. 8.2 Ficha TRC-20

TRC-20 es un estándar técnico utilizado para smart contracts que implementan tokens respaldados por TRON Máquina virtual. Es totalmente compatible con ERC-20.

La interfaz es la siguiente:
contrato​ TRC20Interfaz { ​función​ ​suministrototal​() ​pública​ ​constante​ ​retorna​ (uint); ​función​ ​balanceOf​(dirección tokenPropietario) ​retornos​ ​públicos​ ​constantes​ (uint saldo); ​función​ ​asignación​(dirección tokenPropietario, dirección del gastador) ​pública​ ​constante devoluciones (uint restante); transferencia de función (dirección a, uint tokens) devoluciones públicas (éxito bool); ​función​ ​aprobar​(gastador de direcciones, uint tokens) ​devoluciones​ ​públicas​ (bool éxito); ​función​ ​transferFrom​(dirección de, dirección a, uint tokens) ​público devoluciones​ (éxito bool);

​evento​ ​Transferencia​(dirección indexada desde, dirección indexada hacia, uint tokens); 
​evento​ ​Aprobación​(dirección indexada tokenPropietario, dirección gastadora indexada, uint

tokens); }

Desde la perspectiva del desarrollador, existen varias diferencias entre TRC-10 y TRC-20. Algunos Una de las diferencias clave es que los tokens TRC-10 son accesibles mediante API y smart contracts, mientras que TRC-20 tokens permiten la personalización de la interfaz, pero solo se puede acceder a ellos dentro de smart contracts.

Desde una perspectiva de costos, los TRC-10 tokens tienen tarifas de transacción que son 1000 veces más bajas que TRC-20, pero conlleva costos de ancho de banda para transferencias y depósitos de API. Transferencias y depósitos en smart Los contratos para TRC-10 tokens cuestan ancho de banda y energía.
8.3 Más allá

Dado que TRON usa la misma versión de Solidity que Ethereum, se podrían implementar más estándares token. transferido a TRON.

Token

8.1 Token TRC-10

Di jaringan TRON, setiap akun dapat menerbitkan token dengan biaya 1024 TRX. ​Untuk menerbitkan tokens, penerbit perlu menentukan nama token, total kapitalisasi, nilai tukar ke TRX, durasi sirkulasi, deskripsi, situs web, konsumsi bandwidth maksimum per akun, total konsumsi bandwidth, dan jumlah token dibekukan. Setiap penerbitan token juga dapat dikonfigurasi token Poin Bandwidth transfer harian maksimum setiap akun, maksimum harian seluruh jaringan token Poin Bandwidth transfer, total persediaan token, durasi penguncian dalam hari, dan jumlah total dari tokens terkunci. 8.2 Token TRC-20

TRC-20 adalah standar teknis yang digunakan untuk smart contracts yang menerapkan tokens yang didukung oleh TRON Mesin Virtual. Ini sepenuhnya kompatibel dengan ERC-20.

Antarmukanya adalah sebagai berikut:
kontrak​ TRC20Antarmuka { ​fungsi​ totalSupply​() ​pengembalian konstan​ publik​ (uint); ​fungsi​ balanceOf​(alamat tokenPemilik) ​pengembalian konstan publik​ (uint saldo); ​tunjangan fungsi​(alamat tokenPemilik, alamat pembelanja) konstanta publik kembali (tidak tersisa); ​transfer fungsi​(alamat ke, uint tokens) ​pengembalian publik​ (bool sukses); ​fungsi​ menyetujui​(alamat pembelanja, uint tokens) ​pengembalian publik​ (bool sukses); ​fungsi​ transferFrom​(alamat dari, alamat ke, uint tokens) ​publik kembali (bool sukses);

​acara​ ​Transfer​(alamat diindeks dari, alamat diindeks ke, uint tokens); 
Persetujuan acara(alamat diindeks tokenPemilik, alamat pembelanja yang diindeks, uint

tokens); }

Dari sudut pandang pengembang, ada beberapa perbedaan antara TRC-10 dan TRC-20. Beberapa perbedaan utamanya adalah TRC-10 tokens dapat diakses oleh API dan smart contracts sementara TRC-20 tokens memungkinkan penyesuaian antarmuka tetapi hanya dapat diakses dalam smart contracts.

Dari sudut pandang biaya, TRC-10 tokens memiliki biaya transaksi 1000 kali lebih rendah daripada TRC-20, tetapi menanggung biaya bandwidth untuk transfer dan deposit API. Transfer dan deposit secara cerdas kontrak untuk TRC-10 tokens menghabiskan biaya bandwidth dan energi.
8.3 Selanjutnya

Karena TRON menggunakan versi Soliditas yang sama dengan Ethereum, lebih banyak standar token dapat segera dibuat porting ke TRON.

Gobernancia

9.1 Súper Representante 9.1.1 Generalidades

Todas las cuentas de la red TRON pueden postularse y tener la oportunidad de convertirse en Super Representante (denotado como SR). Todos pueden votar por los candidatos SR. Los 27 mejores candidatos con los más votos pasarán a ser SR con derecho y obligación de generar bloques. los votos son se cuenta cada 6 horas y los SR cambiarán en consecuencia.

Para evitar ataques maliciosos, convertirse en candidato a SR tiene un coste. Al aplicar, 9999 TRX se eliminará de la cuenta del solicitante. Una vez exitosa, dicha cuenta puede unirse al SR elección. 9.1.2 Elección

TRON Se necesita poder (denotado como TP) para votar y la cantidad de TP depende del voto del votante. activos congelados (TRX).

El TP se calcula de la siguiente manera:
TP 1 TRX congelado para obtener ancho de banda 1 =

Cada cuenta en la red TRON tiene derecho a votar por sus propios SR.

Después del lanzamiento (descongelado, disponible después de 3 días), los usuarios no tendrán ningún activo congelado y perderán todo. TP en consecuencia. Como resultado, todos los votos dejan de ser válidos para la ronda de votación actual y futura a menos que TRX vuelve a estar congelado para votar.

Tenga en cuenta que la red TRON solo registra el voto más reciente, lo que significa que cada nuevo voto anulará todos los votos anteriores. 9.1.3 Recompensa un. Recompensa por voto

También conocida como Candidate Reward, que los 127 mejores candidatos actualizaron una vez por ronda (6 horas) compartirá 115,200 TRX extraídos. La recompensa se dividirá de acuerdo con el peso de los votos. cada candidato recibe. Cada año, la recompensa total para los candidatos será de 168.192.000 TRX. Recompensa total de votos por ronda ¿Por qué 115.200 TRX en cada ronda? 15, 00 TRX recompensa total de votos por ronda (V R/ronda) 1 2 =
V R/ronda = 16 T RX/bloque × 20 bloques/min × 60 min/h × 6 h/ronda Aviso: esto lo establece WITNESS_STANDBY_ALLOWANCE = 115,200 TRX. Ver parámetros de red dinámica. Recompensa total de votos por año ¿Por qué 168.192.000 TRX cada año? 168, 192, 000 T RX = recompensa total de votos por año (V R/año) V R/año = 115, 200 T RX/ronda × 4 rondas/día × 365 días/año B. Recompensa de bloque También conocida como Recompensa Súper Representante, que se entrega a los 27 mejores candidatos (SR) elegidos. cada ronda (6 horas) compartirá aproximadamente 230,400 TRX extraídos. La recompensa se dividirá en partes iguales. entre los 27 SR (menos el total de bloques de recompensa perdidos debido a un error de red). un total de Se otorgarán 336.384.000 TRX anualmente a los 27 SR. Recompensa total en bloque por ronda ¿Por qué 230.400 TRX en cada ronda? 230, 400 T RX = recompensa total en bloque por ronda (BR/ronda) BR/ronda = 32 T RX/bloque × 20 bloques/min × 60 min/h × 6 h/ronda Aviso: la recompensa del bloque de unidades se establece en WITNESS_PAY_PER_BLOCK = 32 TRX. Ver red dinámica parámetros. Recompensa total en bloque por año ¿Por qué 336.384.000 TRX cada año? 336, 384, 000 T RX = recompensa total en bloque por año (BR/año) BR/año = 230, 400 T RX/ronda × 4 rondas/día × 365 días/año 1 de enero de 2021 No habrá inflación en la red TRON antes del 1 de enero de 2021, y la TRON DAO otorgar todas las recompensas en bloque y recompensas de candidatos antes de esa fecha. do. Cálculo de recompensa

Cálculo de recompensa SR recompensa total recompensa de voto (V R) recompensa en bloque (BR) t =
+

R V R total V =
×
votos totales votos recibidos por el candidato SR
R

bloque perdido 2 b =
27 BR total − × 3
Nota: la recompensa se calcula por SR por ronda (6 horas)

Cálculo de recompensa del candidato SR del rango 28 al rango 127 recompensa total recompensa de voto (V R) t =

R V R total V =
×
votos totales votos recibidos por el candidato SR
Nota: la recompensa se calcula por candidato SR por ronda (6 horas) 9.2 Comité 9.2.1 Generalidades

El comité se utiliza para modificar TRON parámetros dinámicos de la red, como la generación de bloques. recompensas, tarifas de transacción, etc. El comité está formado por los 27 SR de la ronda actual. Cada SR tiene derecho a proponer y votar propuestas. Cuando una propuesta recibe 19 votos o más, se aprobado y los nuevos parámetros de la red se aplicarán en el próximo período de mantenimiento (3 días). 9.2.2 Parámetros de red dinámica 0. MAINTENANCE_TIME_INTERVAL un. Descripción
Modifique el tiempo del intervalo de mantenimiento en ms. Conocido como el intervalo de tiempo de votación SR por redondo.
b. Ejemplo [6 * 3600 * 1000] ms, que son 6 horas. do. Rango [3 * 27 * 1000, 24 * 3600 * 1000] ms 1. ACCOUNT_UPGRADE_COST un. Descripción Modificar el costo de solicitar la cuenta SR. b. Ejemplo [9,999,000,000] SUN, que es 9,999 TRX. do. Rango [0,100 000 000 000 000 000] DOM 2. CREATE_ACCOUNT_FEE un. Descripción Modificar la tarifa de creación de cuenta.b. Ejemplo [100,000] SUN, que es 1 TRX. do. Rango [0,100 000 000 000 000 000] DOM 3. TRANSACTION_FEE un. Descripción Modifique el monto de la tarifa utilizada para obtener ancho de banda adicional. b. Ejemplo [10] DOM/byte. do. Rango [0,100 000 000 000 000 000] DOM/byte 4. ASSET_ISSUE_FEE un. Descripción Modificar tarifa de emisión de activos. b. Ejemplo [1024,000,000] SUN, que es 1024 TRX. do. Rango [0,100 000 000 000 000 000] DOM 5. TESTIGO_PAY_PER_BLOCK un. Descripción Modificar la recompensa de generación de bloques SR. Conocido como recompensa por bloque unitario. b. Ejemplo [32,000,000] SUN, que es 32 TRX. do. Rango [0,100 000 000 000 000 000] DOM 6. WITNESS_STANDBY_ALLOWANCE un. Descripción Modifique las recompensas otorgadas a los 127 mejores candidatos SR. Conocido como recompensa de voto total por ronda. b. Ejemplo [115,200,000,000] SUN, que son 115,200 TRX. do. Rango [0,100 000 000 000 000 000] DOM 7. CREATE_NEW_ACCOUNT_FEE_IN_SYSTEM_CONTRACT un. Descripción Modificar el costo de creación de cuenta. Combine los parámetros de red dinámica n.° 8 para obtener Costo total de creación de cuenta:
REATE_NEW_ACCOUNT_FEE_IN_SY STEM_CONTRACT REATE_NEW_ACCOUNT_BANDWIDTH_RATE
c ×C

B. Ejemplo [0] DOM. do. Rango [0,100 000 000 000 000 000] DOM 8. CREATE_NEW_ACCOUNT_BANDWIDTH_RATE

un. Descripción Modificar el costo de creación de cuenta. Combine los parámetros de red dinámica n.° 7 para obtener Costo total de creación de cuenta:
REATE_NEW_ACCOUNT_FEE_IN_SY STEM_CONTRACT REATE_NEW_ACCOUNT_BANDWIDTH_RATE
c ×C

B. Ejemplo [1]. do. Rango [0,100,000,000,000,000,000] 9. ALLOW_CREATION_OF_CONTRACTS un. Descripción Para encender la máquina virtual Tron (TVM). b. Ejemplo Verdadero: configurado para activarse y entrar en vigor desde el 10/10/2018 a las 23:47 UTC. do. Rango Verdadero/Falso 10. QUITAR_EL_PODER_DE_EL_GR un. Descripción Eliminar los votos iniciales de GR génesis B. Ejemplo Verdadero: realizado el 4/11/2018 a las 08:46 UTC. do. Rango Verdadero/Falso: Aviso: no se puede volver a establecer Falso desde Verdadero. 11. TARIFA_ENERGÍA un. Descripción Modifica la tarifa de 1 energía. b. Ejemplo 20 DOM. do. Rango [0,100 000 000 000 000 000] DOM 12. EXCHANGE_CREATE_FEE un. Descripción Modifique el costo de creación de pares comerciales. Conocido como el costo de crear una orden comercial. b. Ejemplo [1,024,000,000] SUN, que es 1024 TRX. do. Rango [0,100 000 000 000 000 000] DOM 13. MAX_CPU_TIME_OF_ONE_TX un. Descripción Modificar el tiempo máximo de ejecución de una transacción. Conocido como el límite de tiempo de espera de una transacción. b. Ejemplo 50 ms. do. Rango

[0, 1000] ms 14. ALLOW_UPDATE_ACCOUNT_NAME un. Descripción Modifique la opción para permitir que una cuenta actualice su nombre de cuenta.
b. Ejemplo Falso: que está disponible para proponer desde java-tron Odyssey v3.2. do. Rango Verdadero/Falso: Aviso: no se puede volver a establecer Falso desde Verdadero. 15. ALLOW_SAME_TOKEN_NAME un. Descripción Modifique la validación para permitir que diferentes token tengan un nombre duplicado.
b. Ejemplo Falso: está disponible para proponer desde java-tron Odyssey v3.2. do. Rango Verdadero/Falso: Aviso: no se puede volver a establecer Falso desde Verdadero. 16. ALLOW_DELEGATE_RESOURCE un. Descripción Modificar la validación de permitir emitir token con un nombre duplicado, para que el tokenID​ del token, en tipo de datos entero largo, sería el único atómico identificación de un token.
b. Ejemplo Falso: está disponible para proponer desde java-tron Odyssey v3.2. do. Rango Verdadero/Falso: Aviso: no se puede volver a establecer Falso desde Verdadero. 17. LÍMITE_ENERGÍA_TOTAL un. Descripción Modificar el límite de energía total de toda la red. b. Ejemplo [50 000 000 000 000 000] SUN, que son 50 000 000 000 TRX. do. Rango [0,100,000,000,000,000,000] SOL 18. ALLOW_TVM_TRANSFER_TRC10 un. Descripción Permitir la transferencia TRC-10 token dentro de smart contracts. ALLOW_UPDATE_ACCOUNT_NAME, ALLOW_SAME_TOKEN_NAME, Todas las propuestas ALLOW_DELEGATE_RESOURCE deben aprobarse antes de proponer este parámetro cambia.
b. Ejemplo Falso: está disponible para proponer desde java-tron Odyssey v3.2. do. Rango Verdadero/Falso: Aviso: no se puede volver a establecer Falso desde Verdadero.9.2.3 Crear propuesta

Sólo las cuentas SR tienen derecho a proponer un cambio en los parámetros dinámicos de la red. 9.2.4 Propuesta de votación

Sólo los miembros del comité (SR) pueden votar por una propuesta y el miembro que no vota a tiempo se considerará en desacuerdo. La propuesta está activa durante 3 días después de su creación. el voto puede modificarse o recuperarse durante el período de votación de 3 días. Una vez finalizado el plazo, la propuesta será O tiene éxito (más de 19 votos) o fracasa (y finaliza). 9.2.5 Cancelar propuesta

El proponente puede cancelar la propuesta antes de que entre en vigor. 9.3 Estructura

Los SR son testigos de los bloques recién generados. Un testigo contiene 8 parámetros:
1. dirección​: la dirección de este testigo – p.ej. 0xu82h…7237.
2. voteCount​: número de votos recibidos sobre este testigo – p.e. 234234.
3. pubKey​: la clave pública para este testigo – p.e. 0xu82h…7237.
4. url​: la URL de este testigo – p.e. https://www.noonetrust.com.
5. totalProduced​: la cantidad de bloques que produjo este testigo, p. 2434.
6. totalMissed​: el número de bloques que este testigo omitió, p.e. 7.
7. lastBlockNum​: la última altura del bloque – p.e. 4522. 8. isjobs​: una bandera booleana.

Estructura de datos de Protobuf: mensaje​ ​Testigo​{
Dirección de bytes = ​1​;
​int64​ voteCount = ​2​;
​bytes​ pubKey = ​3​;
​cadena​ URL = ​4​;
​int64​ totalProducido = ​5​;
​int64​ totalPerdidos = ​6​;
​int64​ últimoBlockNum = ​7​; ​bool​ esTrabajos = ​8​; }

  1. Desarrollo de aplicaciones digitales 10.1 API

La red TRON ofrece una amplia selección de más de 60 puertas de enlace API HTTP para interactuar con el red a través de Nodos Full y Solidity. Además, TronWeb es una biblioteca JavaScript completa. que contiene funciones API que permiten a los desarrolladores implementar smart contracts, cambie el blockchain estado, consulta blockchain e información del contrato, comercio en DEX y mucho más. Estas API Las puertas de enlace se pueden dirigir hacia una red privada local, la red de prueba Shasta o la red principal TRON.

10.2 Redes

TRON tiene tanto una red de prueba Shasta como una red principal. Los desarrolladores pueden conectarse a las redes mediante implementar nodos, interactuar a través de TronStudio o usar API a través del servicio TronGrid. El TronGrid El servicio consta de clústeres de nodos con carga equilibrada alojados en servidores AWS en todo el mundo. Como aplicación digital El desarrollo se amplía y los volúmenes de llamadas API aumentan, TronGrid aborda con éxito el aumento en Tráfico API.
10.3 Herramientas

TRON ofrece un conjunto de herramientas de desarrollo para permitir a los desarrolladores crear DApps innovadoras.
TronBox es un marco que permite a los desarrolladores probar e implementar smart contracts a través de TronWeb API. TronGrid es un servicio API alojado y con carga equilibrada que permite a los desarrolladores acceder a TRON red sin tener que ejecutar su propio nodo. TronGrid ofrece acceso tanto a Shasta testnet así como la TRON Mainnet. TronStudio es un desarrollo integrado integral Entorno (IDE) que permite a los desarrolladores compilar, implementar y depurar Solidity de forma inteligente. contratos. TronStudio contiene un nodo completo interno que crea un entorno local privado para smart contract pruebas antes de la implementación. La biblioteca API de TronWeb conecta a los desarrolladores con la red a través de una amplia selección de llamadas API HTTP envueltas en JavaScript.
10.4 Recursos

El TRON Developer Hub es un sitio de documentación API integral diseñado para 12 desarrolladores que deseen construir en la red TRON. El Developer Hub proporciona un alto nivel comprensión conceptual de TRON y guía a los usuarios a través de los detalles de la interacción con el 12 Centro de desarrolladores: https://developers.tron.network/

red. Las guías guían a los desarrolladores a través de la configuración, implementación e interacción de nodos con dispositivos inteligentes. contratos, interacción e implementación de API, creación de DApps de muestra y uso de cada uno de los herramientas de desarrollo. Además, los canales de la comunidad de desarrolladores están disponibles a través de Discord.
13

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

  1. Conclusión

TRON es una solución blockchain escalable que ha empleado métodos innovadores para abordar desafíos que enfrentan las redes heredadas blockchain. Habiendo alcanzado más de 2 millones de transacciones por día, con más de 700.000 cuentas TRX y superando las 2000 TPS, TRON ha permitido a la comunidad en creando una red descentralizada y democratizada.

Tata Kelola

9.1 Perwakilan Super 9.1.1 Umum

Setiap akun di jaringan TRON dapat mendaftar dan berkesempatan menjadi Super Perwakilan (dilambangkan dengan SR). Setiap orang dapat memilih calon SR. 27 kandidat teratas dengan suara terbanyak akan menjadi SR yang mempunyai hak dan kewajiban untuk menghasilkan blok. Suaranya adalah dihitung setiap 6 jam dan SR akan berubah sesuai dengan itu.

Untuk mencegah serangan berbahaya, ada biaya untuk menjadi kandidat SR. Saat melamar, 9999 TRX akan dibakar dari akun pemohon. Setelah berhasil, akun tersebut dapat bergabung dengan SR pemilu. 9.1.2 Pemilu

TRON Kekuasaan (dilambangkan TP) diperlukan untuk memilih dan besarnya TP tergantung pada pilihan pemilih aset beku (TRX).

TP dihitung dengan cara berikut:
dll 1 TRX dibekukan untuk mendapatkan bandwidth 1 =

Setiap akun di jaringan TRON mempunyai hak untuk memilih SR mereka sendiri.

Setelah rilis (dicairkan, tersedia setelah 3 hari), pengguna tidak akan memiliki aset yang dibekukan dan kehilangan semuanya TP sesuai. Akibatnya, semua suara menjadi tidak sah untuk putaran pemungutan suara yang sedang berlangsung dan yang akan datang kecuali TRX dibekukan lagi untuk memilih.

Perhatikan bahwa jaringan TRON hanya mencatat suara terbaru, yang berarti setiap suara baru akan meniadakan semua suara sebelumnya. 9.1.3 Hadiah sebuah. Hadiah Suara

Juga dikenal sebagai Hadiah Kandidat, yang mana 127 kandidat teratas diperbarui setiap putaran (6 jam) akan membagikan 115.200 TRX yang ditambang. Hadiah akan dibagi sesuai dengan bobot suara diterima masing-masing kandidat. Setiap tahun, total hadiah untuk kandidat adalah 168.192.000 TRX. Total hadiah suara per putaran Mengapa 115.200 TRX setiap putaran? 15,00TRX total hadiah suara per putaran (V R/putaran) 1 2 =
V R/putaran = 16 T RX/blok × 20 blok/menit × 60 menit/jam × 6 jam/putaran Perhatian: ini disetel oleh WITNESS_STANDBY_ALLOWANCE = 115.200 TRX. Lihat parameter jaringan dinamis. Total hadiah suara per tahun Mengapa 168.192.000 TRX setiap tahun? 168, 192, 000 T RX = total imbalan suara per tahun (V R/tahun) V R/tahun = 115, 200 T RX/putaran × 4 putaran/hari × 365 hari/tahun b. Blokir Hadiah Juga dikenal sebagai Super Representative Reward, yaitu 27 kandidat (SR) teratas yang terpilih setiap putaran (6 jam) akan membagikan sekitar 230.400 TRX yang telah ditambang. Hadiahnya akan dibagi rata antara 27 SR (dikurangi total blok hadiah yang terlewat karena kesalahan jaringan). Sebanyak 336.384.000 TRX akan diberikan setiap tahun kepada 27 SR. Total hadiah blok per putaran Mengapa 230.400 TRX setiap putaran? 230, 400 T RX = total hadiah blok per putaran (BR/putaran) BR/putaran = 32 T RX/blok × 20 blok/mnt × 60 menit/jam × 6 jam/putaran Perhatian: hadiah blok unit ditetapkan sebesar WITNESS_PAY_PER_BLOCK = 32 TRX. Lihat jaringan dinamis parameter. Total hadiah blok per tahun Mengapa 336.384.000 TRX setiap tahun? 336.384.000 T RX = total hadiah blok per tahun (BR/tahun) BR/tahun = 230,400 T RX/putaran × 4 putaran/hari × 365 hari/tahun 1 Januari 2021 Tidak akan ada inflasi di jaringan TRON sebelum 1 Januari 2021, dan TRON DAO akan berikan semua hadiah blok dan hadiah kandidat sebelum tanggal tersebut. C. Perhitungan Hadiah

Perhitungan imbalan SR imbalan total hadiah suara (VR) hadiah blok (BR) t =
+

R jumlah VR V =
×
total suara suara yang diterima calon SR
R

blok terlewatkan 2 B =
27 jumlah BR - × 3
Catatan: hadiah dihitung per SR per putaran (6 jam)

Peringkat 28 hingga peringkat 127 perhitungan reward calon SR imbalan total hadiah suara (VR) t =

R jumlah VR V =
×
total suara suara yang diterima calon SR
Catatan: hadiah dihitung per kandidat SR per putaran (6 jam) 9.2 Komite 9.2.1 Umum

Komite digunakan untuk mengubah TRON parameter jaringan dinamis, seperti pembuatan blok hadiah, biaya transaksi, dll. Panitia terdiri dari 27 SR pada putaran saat ini. Setiap SR berhak mengusulkan dan memberikan suara terhadap usul. Jika sebuah proposal mendapat 19 suara atau lebih, maka itu benar disetujui dan parameter jaringan baru akan diterapkan pada periode pemeliharaan berikutnya (3 hari). 9.2.2 Parameter Jaringan Dinamis 0. PEMELIHARAAN_TIME_INTERVAL sebuah. Deskripsi
Ubah waktu interval pemeliharaan dalam ms. Dikenal sebagai waktu interval pemungutan suara SR per bulat.
B. Contoh [6 * 3600 * 1000] ms - yaitu 6 jam. C. Jangkauan [3271000, 2436001000] mdtk 1. AKUN_UPGRADE_COST sebuah. Deskripsi Ubah biaya pengajuan akun SR. B. Contoh [9.999.000.000] SUN - yaitu 9.999 TRX. C. Jangkauan [0,100 000 000 000 000 000] MATAHARI 2. CREATE_ACCOUNT_FEE sebuah. Deskripsi Ubah biaya pembuatan akun.B. Contoh [100.000] SUN - yaitu 1 TRX. C. Jangkauan [0,100 000 000 000 000 000] MATAHARI 3. TRANSAKSI_FEE sebuah. Deskripsi Ubah jumlah biaya yang digunakan untuk mendapatkan bandwidth tambahan. B. Contoh [10] MATAHARI/byte. C. Jangkauan [0,100 000 000 000 000 000] MATAHARI/byte 4. ASSET_ISSUE_FEE sebuah. Deskripsi Ubah biaya penerbitan aset. B. Contoh [1024.000.000] MATAHARI - yaitu 1024 TRX. C. Jangkauan [0,100 000 000 000 000 000] MATAHARI 5. WITNESS_PAY_PER_BLOCK sebuah. Deskripsi Ubah hadiah pembuatan blok SR. Dikenal sebagai hadiah blok unit. B. Contoh [32.000.000] SUN - yaitu 32 TRX. C. Jangkauan [0,100 000 000 000 000 000] MATAHARI 6. WITNESS_STANDBY_ALLOWANCE sebuah. Deskripsi Ubah hadiah yang diberikan kepada 127 kandidat SR teratas. Dikenal sebagai hadiah suara total per putaran. B. Contoh [115.200.000.000] SUN - yaitu 115.200 TRX. C. Jangkauan [0,100 000 000 000 000 000] MATAHARI 7. CREATE_NEW_ACCOUNT_FEE_IN_SYSTEM_CONTRACT sebuah. Deskripsi Ubah biaya pembuatan akun. Gabungkan parameter jaringan dinamis #8 untuk mendapatkan total biaya pembuatan akun:
REATE_NEW_ACCOUNT_FEE_IN_SY STEM_CONTRACT REATE_NEW_ACCOUNT_BANDWIDTH_RATE
C × C

b. Contoh [0] MATAHARI. C. Jangkauan [0,100 000 000 000 000 000] MATAHARI 8. CREATE_NEW_ACCOUNT_BANDWIDTH_RATE

sebuah. Deskripsi Ubah biaya pembuatan akun. Gabungkan parameter jaringan dinamis #7 untuk mendapatkan total biaya pembuatan akun:
REATE_NEW_ACCOUNT_FEE_IN_SY STEM_CONTRACT REATE_NEW_ACCOUNT_BANDWIDTH_RATE
C × C

b. Contoh [1]. C. Jangkauan [0,100,000,000,000,000,000] 9. IZINKAN_CREATION_OF_CONTRACTS sebuah. Deskripsi Untuk mengaktifkan Mesin Virtual Tron (TVM). B. Contoh Benar - diatur untuk diaktifkan dan berlaku sejak 10/10/2018 23:47 UTC. C. Jangkauan Benar/Salah 10. HAPUS_THE_POWER_OF_THE_GR sebuah. Deskripsi Hapus suara awal GR Genesis b. Contoh Benar - berlaku pada 4/11/2018 08:46 UTC. C. Jangkauan Benar/Salah - Pemberitahuan: tidak dapat menyetel kembali ke Salah dari Benar. 11. ENERGI_FEE sebuah. Deskripsi Ubah biaya 1 energi. B. Contoh 20 MATAHARI. C. Jangkauan [0,100 000 000 000 000 000] MATAHARI 12. EXCHANGE_CREATE_FEE sebuah. Deskripsi Ubah biaya pembuatan pasangan perdagangan. Dikenal sebagai biaya pembuatan tatanan perdagangan. B. Contoh [1.024.000.000] MATAHARI - yaitu 1024 TRX. C. Jangkauan [0,100 000 000 000 000 000] MATAHARI 13. MAX_CPU_TIME_OF_ONE_TX sebuah. Deskripsi Ubah waktu eksekusi maksimum satu transaksi. Dikenal sebagai batas waktu habis satu transaksi. B. Contoh 50 ms. C. Jangkauan

[0, 1000] mdtk 14. IZINKAN_UPDATE_ACCOUNT_NAME sebuah. Deskripsi Ubah opsi untuk mengizinkan akun memperbarui nama akunnya.
B. Contoh Salah - yang tersedia untuk diusulkan dari java-tron Odyssey v3.2. C. Jangkauan Benar/Salah - Pemberitahuan: tidak dapat menyetel kembali ke Salah dari Benar. 15. IZINKAN_SAME_TOKEN_NAME sebuah. Deskripsi Ubah validasi untuk mengizinkan token berbeda memiliki nama duplikat.
B. Contoh Salah - yang tersedia untuk diusulkan dari java-tron Odyssey v3.2. C. Jangkauan Benar/Salah - Pemberitahuan: tidak dapat menyetel kembali ke Salah dari Benar. 16. IZINKAN_DELEGATE_RESOURCE sebuah. Deskripsi Ubah validasi untuk mengizinkan penerbitan token dengan nama duplikat, sehingga tokenID​ dari token, dalam tipe data bilangan bulat panjang, akan menjadi satu-satunya atomik identifikasi token.
B. Contoh Salah - yang tersedia untuk diusulkan dari java-tron Odyssey v3.2. C. Jangkauan Benar/Salah - Pemberitahuan: tidak dapat menyetel kembali ke Salah dari Benar. 17. TOTAL_ENERGY_LIMIT sebuah. Deskripsi Ubah batas energi total seluruh jaringan. B. Contoh [50.000.000.000.000.000] SUN - yaitu 50.000.000.000 TRX. C. Jangkauan [0,100,000,000,000,000,000] MATAHARI 18. IZINKAN_TVM_TRANSFER_TRC10 sebuah. Deskripsi Izinkan transfer TRC-10 token dalam smart contracts. ALLOW_UPDATE_ACCOUNT_NAME, ALLOW_SAME_TOKEN_NAME, ALLOW_DELEGATE_RESOURCE semua proposal harus disetujui sebelum diajukan perubahan parameter ini.
B. Contoh Salah - yang tersedia untuk diusulkan dari java-tron Odyssey v3.2. C. Jangkauan Benar/Salah - Pemberitahuan: tidak dapat menyetel kembali ke Salah dari Benar.9.2.3 Membuat Proposal

Hanya akun SR yang berhak mengusulkan perubahan parameter jaringan dinamis. 9.2.4 Usulan Pemungutan Suara

Hanya anggota komite (SR) yang dapat memberikan suara untuk suatu proposal dan anggota yang tidak memberikan suara pada waktunya akan dianggap tidak setuju. Proposal aktif selama 3 hari setelah dibuat. Pemungutan suara bisa diubah atau diambil selama jendela pemungutan suara 3 hari. Setelah periode berakhir, proposal akan berakhir berhasil (19+ suara) atau gagal (dan berakhir). 9.2.5 Membatalkan Proposal

Pengusul dapat membatalkan usulannya sebelum menjadi efektif. 9.3 Struktur

SR adalah saksi dari blok yang baru dibuat. Seorang saksi mengandung 8 parameter:
1. alamat​: alamat saksi ini – mis. 0xu82h…7237.
2. voteCount​: jumlah suara yang diterima pada saksi ini – mis. 234234.
3. pubKey​: kunci publik untuk saksi ini – mis. 0xu82h…7237.
4. url​: url untuk saksi ini – mis. https://www.noonetrust.com.
5. totalProducted​: jumlah blok yang dihasilkan oleh saksi ini – mis. 2434.
6. totalMissed​: jumlah blok yang terlewatkan oleh saksi ini – mis. 7.
7. lastBlockNum​: ketinggian blok terbaru – mis. 4522. 8. isjobs​: bendera boolean.

Struktur data Protobuf: pesan​ ​Saksi​{
​byte​ alamat = ​1​;
​int64​ jumlah suara = ​2​;
​byte​ pubKey = ​3​;
​string​ url = ​4​;
​int64​ total Diproduksi = ​5​;
​int64​ totalTerlewatkan = ​6​;
​int64​ newBlockNum = ​7​; ​bool​ isJobs = ​8​; }

  1. Pengembangan DApp 10.1 API

Jaringan TRON menawarkan beragam pilihan lebih dari 60+ gateway API HTTP untuk berinteraksi dengan jaringan melalui Node Penuh dan Soliditas. Selain itu, TronWeb adalah perpustakaan JavaScript yang komprehensif berisi fungsi API yang memungkinkan pengembang menerapkan smart contract, ubah blockchain negara bagian, kueri blockchain dan informasi kontrak, perdagangan di DEX, dan banyak lagi. API ini gateway dapat diarahkan ke privatenet lokal, testnet Shasta, atau TRON Mainnet.

10.2 Jaringan

TRON memiliki testnet Shasta dan juga Mainnet. Pengembang dapat terhubung ke jaringan dengan menyebarkan node, berinteraksi melalui TronStudio, atau menggunakan API melalui layanan TronGrid. Jaringan Tron layanan terdiri dari klaster simpul dengan beban seimbang yang dihosting di server AWS di seluruh dunia. Sebagai DApp pengembangan ditingkatkan dan volume panggilan API meningkat, TronGrid berhasil melakukan peningkatan tersebut lalu lintas API.
10.3 Alat

TRON menawarkan serangkaian alat pengembangan untuk memungkinkan pengembang membuat DApps yang inovatif.
TronBox adalah kerangka kerja yang memungkinkan pengembang menguji dan menyebarkan smart contracts melalui TronWeb API. TronGrid adalah layanan API yang dihosting dan diseimbangkan bebannya yang memungkinkan pengembang untuk mengakses TRON jaringan tanpa harus menjalankan nodenya sendiri. TronGrid menawarkan akses ke Shasta testnet serta TRON Mainnet. TronStudio adalah Pengembangan Terintegrasi yang komprehensif Lingkungan (IDE) yang memungkinkan pengembang untuk mengkompilasi, menyebarkan, dan men-debug Solidity smart mereka kontrak. TronStudio berisi node penuh internal yang menciptakan lingkungan lokal pribadi untuk smart contract pengujian sebelum penerapan. Pustaka TronWeb API menghubungkan pengembang ke jaringan melalui berbagai pilihan panggilan HTTP API yang dibungkus dalam JavaScript.
10.4 Sumber Daya

Hub Pengembang TRON adalah situs dokumentasi API komprehensif yang dirancang khusus 12 pengembang yang ingin membangun jaringan TRON. Hub Pengembang menyediakan tingkat tinggi pemahaman konseptual tentang TRON dan memandu pengguna melalui detail interaksi dengan 12 Pusat Pengembang: https://developers.tron.network/

jaringan. Panduan ini memandu pengembang melalui penyiapan node, penerapan, dan interaksi dengan smart kontrak, interaksi dan implementasi API, membuat contoh DApps, dan menggunakan masing-masingnya alat pengembang. Selain itu, saluran komunitas pengembang tersedia melalui Discord.
13

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

  1. Kesimpulan

TRON adalah solusi blockchain terukur yang menggunakan metode inovatif untuk mengatasi tantangan yang dihadapi oleh jaringan blockchain lama. Telah mencapai lebih dari 2 juta transaksi per hari, dengan lebih dari 700 ribu akun TRX, dan melampaui 2000 TPS, TRON telah memungkinkan komunitas dalam menciptakan jaringan yang terdesentralisasi dan demokratis.