Informe técnico de TRON
giriiş
1.1 Vizyon
TRON gerçek anlamda merkezi olmayan bir İnternet'in kurulmasına adanmış iddialı bir projedir ve
altyapı. TRON Protokolü, dünyadaki en büyük blockchain tabanlı işletim sistemlerinden biri
dünya, yüksek aktarım hızı, yüksek ölçeklenebilirlik ve yüksek kullanılabilirlik için genel blockchain desteği sunar.
TRON ekosistemindeki tüm Merkezi Olmayan Uygulamalar (DApp'ler). Temmuz 2018'de satın alınması
BitTorrent, TRON'nin merkezi olmayan bir ekosistem oluşturma konusundaki liderliğini daha da güçlendirdi.
1.2 Arka Plan
Bitcoin'nin 2009'da kullanıma sunulması, toplumun geleneksel finansal algısında devrim yarattı Büyük Durgunluğun (2007-2008) ardından sistem. Merkezi hedge fonları ve bankalar olarak Şeffaf olmayan finansal türevlerdeki spekülasyonlar nedeniyle çöken blockchain teknolojisi, herkesin işlem bilgilerini toplayabildiği şeffaf evrensel defter. işlemler, İş Kanıtı (PoW) fikir birliği mekanizması kullanılarak kriptografik olarak güvence altına alındı, böylece çift harcama sorunlarının önüne geçilir.
2013'ün sonlarında, Ethereum teknik incelemesi, smart contracts ve bir Turing-complete Ethereum Sanal Makine (EVM), geliştiricilerin DApp'ler aracılığıyla ağ. Ancak Bitcoin ve Ethereum'deki işlem hacimleri 2017'de zirveye ulaştığından, düşük işlem çıkış süreleri ve yüksek işlem ücretlerinden açıkça görülüyordu ki Bitcoin ve Ethereum gibi kripto para birimleri mevcut halleriyle yaygın olarak ölçeklenebilir değildi evlat edinme. Böylece TRON kuruldu ve bu acil ihtiyaçlara yenilikçi bir çözüm olarak tasarlandı ölçeklenebilirlik zorlukları.

1.3 Tarih TRON DAO Temmuz 2017'de Singapur'da kuruldu. Aralık 2017'de TRON vardı açık kaynak protokolünü başlattı. Testnet, Blockchain Explorer ve Web Cüzdanının hepsi Mart 2018'de kullanıma sunuldu. TRON Mainnet bundan kısa bir süre sonra Mayıs 2018'de kullanıma sunuldu. Teknik bir dönüm noktası olarak Odyssey 2.0 sürümü. Haziran 2018'de TRON bağımsızlığını ilan etti Genesis bloğunun oluşturulması ve Temmuz 2018'de BitTorrent'in satın alınmasıyla birlikte. içinde Ekim 2018, TRON, geliştiricilere yönelik eksiksiz bir araç seti olan TRON Sanal Makineyi (TVM) piyasaya sürdü. ve 360 destek sistemi. TRON yol haritası, BitTorrent'in 100 milyon kullanıcısını birleştirmeyi içeriyor Project Atlas aracılığıyla TRON ağıyla bağlantı kurmanın yanı sıra geliştirici topluluğunun lansmanı teşvik etmesi TRON ağında1 heyecan verici yeni DApp'ler. 1 V1.0 https://tron.network/static/doc/white_paper_v_1_0.pdf adresinde mevcuttur
1.4 Terminoloji
Adres/Cüzdan TRON ağındaki hesap kimlik bilgilerinden oluşan bir adres veya cüzdan, bir kişi tarafından oluşturulur. bir özel anahtar ve bir genel anahtardan oluşan anahtar çifti; ikincisi birincisinden türetilir bir algoritma aracılığıyla. Genel anahtar genellikle oturum anahtarı şifrelemesi, imza için kullanılır. doğrulama ve ilgili özel anahtarla şifresi çözülebilecek verilerin şifrelenmesi.
Abi Uygulama ikili arayüzü (ABI), iki ikili program modülü arasındaki bir arayüzdür; genellikle Bu modüllerden biri bir kütüphane veya işletim sistemi tesisi, diğeri ise kullanıcı tarafından çalıştırılan bir modüldür. programı.
API'si Bir uygulama programlama arayüzü (API) esas olarak kullanıcı istemcilerinin geliştirilmesi için kullanılır. API'li destek, token düzenleme platformları geliştiricilerin kendileri tarafından da tasarlanabilir.
Varlık TRON'nin belgelerinde varlık, TRC-10 token olarak da gösterilen token ile aynıdır.
Bant Genişliği Noktaları (BP) Ağın sorunsuz çalışmasını sağlamak için, TRON ağ işlemleri yakıt olarak BP'yi kullanır. Her hesap 5000 ücretsiz günlük BP alır ve daha fazlası, BP için TRX'i dondurarak elde edilebilir. Hem TRX hem de TRC-10 token transferler BP'ye mal olan normal işlemlerdir. Akıllı sözleşme dağıtımı ve yürütülmesi işlemler hem BP hem de Enerji tüketir.
Blok Bloklar işlemlerin dijital kayıtlarını içerir. Tam bir blok sihirli sayıdan oluşur, blok boyutu, blok başlığı, işlem sayacı ve işlem verileri.
Ödülü Engelle Blok üretim ödülleri bir alt hesaba (adres/cüzdan) gönderilir. Süper Temsilciler şunları yapabilir: ödüllerini Tronscan'den veya doğrudan API aracılığıyla talep edebilirsiniz.
Blok Başlığı Bir blok başlığı bir bloğun parçasıdır. TRON blok başlıkları önceki bloğun hash öğesini içerir, Merkle kökü, zaman damgası, sürüm ve tanık adresi.Soğuk Cüzdan Çevrimdışı cüzdan olarak da bilinen soğuk cüzdan, özel anahtarın herhangi bir cihazla bağlantısının tamamen kesilmesini sağlar. ağ. Soğuk cüzdanlar genellikle "soğuk" cihazlara (örneğin bilgisayarlar veya cep telefonları) yüklenir. TRX özel anahtarının güvenliğini sağlamak için çevrimdışı kalmak).
DUygulaması Merkezi Olmayan Uygulama, merkezi olarak güvenilen bir taraf olmadan çalışan bir Uygulamadır. Bir uygulama Son kullanıcılar ve/veya kaynaklar arasında doğrudan etkileşimi/anlaşmaları/iletişimi mümkün kılan aracı olmadan.
gRPC gRPC (gRPC Uzaktan Prosedür Çağrıları), açık kaynaklı bir uzaktan prosedür çağrısı (RPC) sistemidir 2 başlangıçta Google'da geliştirildi. Aktarım için HTTP/2'yi, arayüz olarak Protokol Tamponlarını kullanır açıklama dili ve kimlik doğrulama, çift yönlü akış ve akış gibi özellikler sağlar kontrol, engelleme veya engellemeyen bağlamalar ve iptal ve zaman aşımları. Üretir Birçok dil için platformlar arası istemci ve sunucu bağlantıları. En yaygın kullanım senaryoları mikro hizmet tarzı mimarideki bağlantı hizmetlerini ve mobil cihazların bağlanmasını içerir ve tarayıcı istemcilerinden arka uç hizmetlerine.
Sıcak Cüzdan Çevrimiçi cüzdan olarak da bilinen sıcak cüzdan, kullanıcının özel anahtarının çevrimiçi olarak kullanılmasına olanak tanır. potansiyel güvenlik açıklarına veya kötü niyetli aktörlerin müdahalesine karşı hassastır.
JDK Java Geliştirme Kiti, Java uygulamaları için kullanılan Java SDK'dır. Java'nın çekirdeğidir Java uygulama ortamını (JVM+Java sınıf kitaplığı) ve Java'yı içeren geliştirme araçlar.
KhaosDB TRON tam düğüm belleğinde, oluşturulan tüm yeni çatallanmış zincirleri saklayabilen bir KhaosDB'ye sahiptir belirli bir süre içerisinde tanıkların kendi aktif zincirlerinden hızlı bir şekilde geçiş yapmalarına destek olur yeni bir ana zincire dönüşür. Daha fazla ayrıntı için bkz. 2.2.2 Durum Depolama.
SeviyeDB LevelDB başlangıçta hızlı R/W ve hızlı veri gereksinimlerini karşılamak amacıyla benimsendi. gelişme. Ana Ağı başlattıktan sonra TRON veritabanını tamamen özelleştirilmiş bir sürüme yükseltti biri kendi ihtiyaçlarını karşılıyordu. Daha fazla ayrıntı için bkz. 2.2.1 Blok Zinciri Depolama.
Merkle Kökü Merkle kökü, blockchain içindeki bir bloğun parçası olarak dahil edilen tüm işlemlerin hash'larının hash'sidir. ağ. Daha fazla ayrıntı için 3.1 Yetki Verilen Hisse Kanıtı'na (DPoS) bakın. 2 https://en.wikipedia.org/wiki/GRPC

Herkese Açık Test Ağı (Shasta) Ağın tek düğümlü yapılandırmada çalışan bir sürümü. Geliştiriciler bağlanıp test edebilir Ekonomik kayıp konusunda endişelenmeden özellikler. Testnet token'lerin hiçbir değeri yoktur ve herkes bunu yapabilir halka açık musluktan daha fazlasını isteyin.
RPC
3
Dağıtılmış hesaplamada, uzaktan prosedür çağrısı (RPC), bir bilgisayar programının bir soruna neden olduğu zamandır.
farklı bir adres alanında (genellikle başka bir bilgisayarda) yürütülecek prosedür (alt program)
normal (yerel) bir prosedür çağrısıymış gibi kodlanan, paylaşılan bir ağ
programcı uzaktan etkileşimin ayrıntılarını açıkça kodluyor.
Ölçeklenebilirlik Ölçeklenebilirlik, TRON Protokolünün bir özelliğidir. Bir sistemin, ağın veya sürecin, Artan miktardaki işin üstesinden gelmek veya bu büyümeye uyum sağlayacak şekilde genişletilme potansiyeli.
GÜNEŞ SUN, TRX'in en küçük birimi olarak drop'un yerini aldı. 1 TRX = 1.000.000 PAZAR.
Verim Yüksek verim, TRON Mainnet'in bir özelliğidir. Saniyedeki İşlem Sayısı (TPS) cinsinden ölçülür, yani bir saniyedeki maksimum işlem kapasitesi.
Zaman damgası Blok üretiminin yaklaşık süresi, Unix zaman damgası olarak kaydedilir; 01 Ocak 1970 UTC 00:00:00'dan bu yana geçen milisaniye.
TKC Jeton yapılandırması.
TRC-10 TRON platformunda token kripto standardı. Uyulması gereken belirli kurallar ve arayüzler vardır TRON blockchain tarihinde ilk para arzını tutarken.
TRX TRX, TRON resmi kripto para birimi olan Tronix'i temsil eder.
3 https://en.wikipedia.org/wiki/Remote_procedure_call
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.

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

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
Mimari
TRON, Depolama Katmanı, Çekirdek Katmanı ve Uygulama Katmanı'na bölünmüş 3 katmanlı bir mimariyi benimser. TRON protokolü, doğası gereği çoklu dili destekleyen Google Protobuf'a uygundur Uzantı.

Şekil 1: TRON 3 Katmanlı Mimari
2.1 Çekirdek
Çekirdek katmanda smart contracts, hesap yönetimi ve fikir birliği. TRON üzerinde yığın tabanlı bir sanal makine ve optimize edilmiş bir talimat uygulandı seti kullanılır. DApp geliştiricilerini daha iyi desteklemek amacıyla Solidity smart contract olarak seçildi 4 dil ve ardından diğer gelişmiş dillerin gelecekte desteklenmesi gelecektir. Ayrıca TRON'nin fikir birliği mekanizma, Yetki Verilen Hisse Kanıtı'na (DPoS) dayanmaktadır ve birçok yenilik yapılmıştır. benzersiz gereksinimlerini karşılamak için. 2.2 Depolama
TRON, Blok Depolama ve Durumdan oluşan benzersiz bir dağıtılmış depolama protokolü tasarladı Depolama. Grafik veritabanı kavramı, depolama katmanının tasarımına dahil edildi. gerçek dünyada çeşitlendirilmiş veri depolama ihtiyacını daha iyi karşılar. 2.2.1 Blok Zinciri Depolaması
TRON blockchain depolama, Google tarafından geliştirilen ve kanıtlanmış LevelDB'yi kullanmayı tercih ediyor birçok şirket ve projede başarılı oldu. Yüksek performansa sahiptir ve isteğe bağlı baytı destekler hem anahtar hem de değer olarak diziler, tekil alma, koyma ve silme, toplu koyma ve silme, çift yönlü yineleyiciler ve çok hızlı Snappy algoritmasını kullanarak basit sıkıştırma. 2.2.2 Durum Depolama
TRON, tam düğüm belleğinde, oluşturulan tüm yeni çatallanmış zincirleri saklayabilen bir KhaosDB'ye sahiptir belirli bir süre içerisinde tanıkların kendi aktif zincirlerinden hızlı bir şekilde geçiş yapmalarına destek olur yeni bir ana zincire dönüşür. Ayrıca blockchain depolama alanını, bozulmaya karşı daha kararlı hale getirerek koruyabilir bir ara durumda anormal şekilde sonlanıyor. 2.3 Uygulama
Geliştiriciler TRON üzerinde çok çeşitli DApp'ler ve özelleştirilmiş cüzdanlar oluşturabilirler. TRON tarihinden beri smart contracts'nin konuşlandırılmasına ve yürütülmesine olanak tanır, yardımcı program uygulamalarının fırsatları sınırsız. 4 Solidity'nin resmi belgeleri: https://solidity.readthedocs.io/
2.4 Protokol
TRON protokolü, dilden bağımsız, platformdan bağımsız bir Google Protokol Arabelleklerine uygundur. 5 ve iletişim protokollerinde, veri depolamada kullanılmak üzere yapılandırılmış verileri serileştirmenin genişletilebilir yolu, ve daha fazlası. 2.4.1 Protokol Tamponları
Protokol Tamponları (Protobuf), yapılandırılmış serileştirmeye yönelik esnek, verimli, otomatik bir mekanizmadır JSON veya XML'e benzer ancak çok daha küçük, daha hızlı ve daha basit veriler.
Protobuf (.proto) tanımları C++, Java, C#, Python, Ruby için kod üretmek amacıyla kullanılabilir. Golang ve Objective-C dilleri resmi kod oluşturucular aracılığıyla. Çeşitli üçüncü taraf diğer birçok dil için de uygulamalar mevcuttur. Protobuf geliştirmeyi kolaylaştırıyor API tanımlarını birleştirerek ve ayrıca veri aktarımlarını optimize ederek istemciler. Müşteriler API'yi alabilir TRON'nin protokol deposundan .proto alın ve otomatik olarak oluşturulan kod aracılığıyla entegre edin kütüphaneler.
Karşılaştırma yapmak gerekirse, Protokol Tamponları XML'den 3 ila 10 kat daha küçük ve 20 ila 100 kat daha hızlıdır. daha az belirsiz sözdizimi ile. Protobuf, kullanımı daha kolay veri erişim sınıfları oluşturur programlı olarak. 2.4.2 HTTP
TRON Protokolü, Protobuf API'sine alternatif bir RESTful HTTP API'si sağlar. Aynı şeyi paylaşıyorlar arayüz ancak HTTP API, javascript istemcilerinde kolaylıkla kullanılabilir. 2.5 TRON Sanal Makine (TVM)
TVM, TRON ekosistemi için geliştirilmiş hafif, Turing eksiksiz bir sanal makinedir.
TVM, milyonlarca küresel destek sağlamak için mevcut geliştirme ekosistemine sorunsuz bir şekilde bağlanıyor
verimli, kullanışlı, istikrarlı, güvenli ve özel olarak oluşturulmuş bir blockchain sistemine sahip geliştiriciler
ölçeklenebilir.
2.6 Merkezi Olmayan Borsa (DEX)
5 Google Protokol Tamponları resmi belgeleri: https://developers.google.com/protocol-buffers/TRON ağı yerel olarak merkezi olmayan değişim işlevlerini destekler. Merkezi olmayan bir borsa birden fazla işlem çiftinden oluşur. Bir işlem çifti (“Borsa” notasyonu) bir Borsa Piyasasıdır TRC-10 tokens arasında veya TRC-10 token ve TRX arasında. Herhangi bir hesap bir ticaret oluşturabilir aynı çift TRON ağında zaten mevcut olsa bile herhangi bir token arasında çift oluşturabilirsiniz. Ticaret ve işlem çiftlerindeki fiyat dalgalanmaları Bancor Protokolünü takip eder. TRON ağı şunu şart koşuyor: 6 tüm işlem çiftlerindeki iki token'nin ağırlıkları eşittir, dolayısıyla bakiyelerinin oranı fiyattır aralarında. Örneğin, iki tokens, ABC ve DEF içeren bir işlem çiftini düşünün. ABC'nin sahip olduğu bakiyesi 10 milyon, DEF'in bakiyesi ise 1 milyondur. Ağırlıkları eşit olduğundan 10 ABC = 1DEF. Bu, ABC'nin DEF'e oranının DEF başına 10 ABC olduğu anlamına gelir. 2.7 Uygulama
TRON blockchain kodu Java'da uygulanmıştır ve orijinal olarak EthereumJ'den gelen bir çataldır.
6 Bancor Protokolü resmi web sitesi: https://about.bancor.network/protocol/
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.

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/
Konsensüs
3.1 Yetki Verilen Hisse Kanıtı (DPoS)
En eski fikir birliği mekanizması, İş Kanıtı (PoW) fikir birliği mekanizmasıdır. Bu protokol şu anda Bitcoin ve Ethereum'de uygulanmaktadır. PoW sistemlerinde işlemler 7 8 Ağ üzerinden yapılan yayınlar, madenci onayı için yeni oluşan bloklar halinde gruplandırılır. onay süreci, kriptografik hashing algoritmalarını kullanarak hashing işlemlerini içerir. Merkle köküne ulaşıldı ve bir merkle ağacı oluşturuldu:
Şekil 2: 8 TRX işlemi merkle köküne hashişlenmiştir. Bu merkle kökü daha sonra blok başlığına dahil edilir. blockchain oluşturmak için önceden onaylanmış bloklara eklenir. Bu, kolay ve şeffaf bir şekilde takip edilmesini sağlar. işlemler, zaman damgaları ve diğer ilgili bilgiler.
7 Bitcoin teknik inceleme: https://bitcoin.org/bitcoin.pdf 8 Ethereum teknik inceleme: https://github.com/ethereum/wiki/wiki/White-Paper
Kriptografik hashing algoritmaları, ağ saldırılarının önlenmesinde faydalıdır çünkü
birkaç özellik:
9
●
Giriş/Çıkış uzunluğu boyutu - Algoritma herhangi bir uzunluktaki girişi geçebilir ve
sabit uzunluklu bir hash değeri verir.
●
Verimlilik - Algoritmanın hesaplanması nispeten kolay ve hızlıdır.
●
Öngörüntü direnci - Belirli bir z çıkışı için herhangi bir x girişi bulmak imkansızdır;
h(x) = z. Başka bir deyişle, hashing algoritması h(x) tek yönlü bir fonksiyondur ve burada yalnızca
Bir girdi verildiğinde çıktı bulunabilir. Bunun tersi mümkün değildir.
●
Çarpışma direnci - h(x1) olacak şekilde herhangi bir x1 ≠ x2 çiftini bulmak hesaplama açısından mümkün değildir.
= h(x2). Başka bir deyişle, aynı hashing iki farklı giriş bulma olasılığı
çıktı son derece düşüktür. Bu özellik aynı zamanda ikinci ön görüntü direncini de ifade eder.
●
İkinci ön görüntü direnci - Verilen x1 ve dolayısıyla h(x1), hesaplama açısından mümkün değildir
h(x1) = h(x2) olacak herhangi bir x2 bulun. Bu özellik çarpışma direncine benzer olsa da,
özelliği, belirli bir x1 değerine sahip bir saldırganın onu hesaplamalı olarak bulacağını söylemesi bakımından farklılık gösterir
aynı çıktıya yönelik herhangi bir x2 hashing bulmak mümkün değil.
●
Deterministik – her girdiyi tek ve yalnızca bir çıktıyla eşler.
●
Avalanche etkisi - girdideki küçük bir değişiklik tamamen farklı bir çıktıyla sonuçlanır.
Bu özellikler, saldırıların engellenmesini sağlayarak kripto para birimi ağına gerçek değerini verir. ağı tehlikeye atmak. Madenciler bir bloğu onayladığında, yerleşik olarak tokens ile ödüllendirilirler. Ağ katılımı için teşvik. Ancak küresel kripto para birimi piyasası kapitalizasyonu arttıkça istikrarlı bir şekilde arttı, madenciler merkezileşti ve bilgi işlem kaynaklarını token'leri ağa katılım amaçları yerine varlık olarak biriktirmek. CPU madencileri yol verdi GPU'lar yerini güçlü ASIC'lere bıraktı. Önemli bir çalışmada toplam güç Bitcoin madencilik tüketiminin İrlanda'nınkiyle kıyaslandığında 3 GW kadar yüksek olduğu tahmin ediliyor 10 güç tüketimi. Aynı çalışma, toplam güç tüketiminin yakın gelecekte 8 GW'a ulaşacağını öngördü. gelecek.
Enerji israfı sorununu çözmek için Proof of Stake (PoS) fikir birliği mekanizması önerildi. birçok yeni ağ. PoS ağlarında, token sahipleri blok haline gelmek için token bakiyelerini kilitler validators. validator'lar bir sonraki blokta sırayla teklifte bulunur ve oy verir. Ancak sorun standart PoS ile validator etkisinin, kilitlenen token miktarıyla doğrudan ilişkili olmasıdır. Bu, tarafların ağın temel para biriminin büyük miktarlarını gereksiz yere kullanarak istiflemelerine neden olur ağ ekosistemindeki etkisi.
TRON fikir birliği mekanizması yenilikçi bir Yetkilendirilmiş Hisse Kanıtı sistemi kullanır;
Süper Temsilciler (SR'ler) ağ için bloklar üretir. TRX hesap sahipleri her 6 saatte bir
hesaplarını donduranlar, ilk 27 adayın yer aldığı bir dizi SR adayına oy verebilir
SR'ler olarak kabul edildi. Seçmenler, SR'lerin sponsor olduğu projeler gibi kriterlere dayalı olarak SR'leri seçebilirler.
9 PAAR, C., PELZL, J., Kriptografiyi Anlamak: Öğrenciler ve Uygulayıcılar için Bir Ders Kitabı, 2010 ed.
Springer-Verlag Berlin Heidelberg, 2010.
10 https://www.sciencedirect.com/science/article/pii/S2542435118301776TRX'in benimsenmesini ve seçmenlere dağıtılan ödülleri artırın. Bu, daha demokratik ve
merkezi olmayan ekosistem. SR'lerin hesapları normal hesaplardır ancak oy birikimleri
blok üretmelerine olanak sağlar. Bitcoin ve Ethereum gibi düşük aktarım hızları nedeniyle
PoW mutabakat mekanizması ve ölçeklenebilirlik sorunları, TRON'nin DPoS sistemi yenilikçi bir çözüm sunuyor
Bitcoin'nın 3 TPS ve Ethereum'nin 15 TPS'sine kıyasla 2000 TPS ile sonuçlanan mekanizma.
TRON protokol ağı her üç saniyede bir blok üretir ve her blok 32 puan verir. TRX'ten Süper Temsilcilere. 27 SR'ye yıllık toplam 336.384.000 TRX verilecek. Bir SR blok üretimini her tamamladığında, ödüller süper defterdeki bir alt hesaba gönderilir. SR'ler kontrol edebilir ancak bu TRX token'leri doğrudan kullanamaz. Her biri tarafından para çekme işlemi yapılabilir 24 saatte bir SR, ödüllerin alt hesaptan belirtilen SR'ye aktarılması hesap.
TRON ağındaki üç düğüm türü Tanık Düğümü, Tam Düğümü ve Sağlamlık Düğümü'dür. Tanık düğümler SR'ler tarafından kurulur ve esas olarak blok üretimi ve tekliften sorumludur oluşturma/oylama. Tam düğümler, API'ler ve yayın işlemleri ve blokları sağlar. Sağlamlık düğümleri senkronizasyonu diğer Tam Düğümlerden bloklar oluşturur ve ayrıca dizine eklenebilir API'ler sağlar.
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 x1 ≠ x2 tal que h(x1)
= h(x2). 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 x1, y por lo tanto h(x1), es computacionalmente inviable
encuentre cualquier x2 tal que h(x1) = h(x2). 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 x1 dado lo encontrará computacionalmente
No es factible encontrar x2 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.
Hesap
4.1 Türler
TRON ağındaki üç hesap türü; normal hesaplar, token hesaplar ve sözleşme hesapları
1.
Standart işlemler için normal hesaplar kullanılır.
2.
Token hesapları TRC-10 token'leri depolamak için kullanılır.
3.
Sözleşme hesapları, normal hesaplar tarafından oluşturulan smart contract hesaplardır ve
normal hesaplar tarafından da tetiklenir.
4.2 Yaratılış
TRON hesabı oluşturmanın üç yolu vardır:
1. API aracılığıyla yeni bir hesap oluşturun 2. TRX'i yeni bir hesap adresine aktarın 3. Herhangi bir TRC-10 token'yi yeni bir hesap adresine aktarın
Bir adres (genel anahtar) ve bir özel anahtardan oluşan ve kuruluş tarafından kaydedilmeyen bir çevrimdışı anahtar çifti. TRON ağı da oluşturulabilir. Kullanıcı adresi oluşturma algoritması aşağıdakilerden oluşur: bir anahtar çifti oluşturmak ve ardından genel anahtarı çıkarmak (x, y'yi temsil eden 64 baytlık bayt dizisi) koordinatlar). SHA3-256 işlevini kullanarak genel anahtarı karma hale getirin (benimsenen SHA3 protokolü KECCAK-256) ve sonucun son 20 baytını çıkartın. Bayt dizisinin başına 41 ekleyin ve ilk adres uzunluğunun 21 bayt olduğundan emin olun. SHA3-256 işlevini kullanarak adresi iki kez karmalayın ve ilk 4 baytı doğrulama kodu olarak alın. Doğrulama kodunu ilk satırın sonuna ekleyin adresine gidin ve adresi base58 kodlaması yoluyla base58check formatında edinin. Kodlanmış Ana ağ adresi T ile başlar ve 34 byte uzunluğundadır. 4.3 Yapı
Üç farklı hesap türü Normal, AssetIssue ve Contract'tır. Bir Hesap 7 içerir parametreler:
1.
hesap_adı: bu hesabın adı – ör. Fatura Hesabı.
2.
tür: bu hesabın türü – ör. 0 ("Normal" tipi anlamına gelir).
3.
bakiye: bu hesabın bakiyesi – ör. 4213312.
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;
}
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;
}
Blok
Bir blok genellikle bir blok başlığı ve birkaç işlem içerir.
Protobuf data structure:
message Block {
BlockHeader block_header = 1;
repeated Transaction transactions = 2;
}
5.1 Blok Başlığı
Bir blok başlığı, raw_data, witness_signature ve blockID içerir.
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 Ham Veri
Ham veriler Protobuf'ta raw_data olarak gösterilir. 6 içeren bir mesajın ham verilerini içerir. parametreler:
1. zaman damgası: bu mesajın zaman damgası – ör. 1543884429000. 2. txTrieRoot: Merkle Ağacının Kökü – ör. 7dacsa…3ed. 3. parentHash: son bloğun hash değeri – ör. 7dacsa…3ed. 4. sayı: blok yüksekliği – ör. 4638708. 5. sürüm: ayrılmış – ör. 5.

6. tanık_adresi: bu blokta paketlenmiş tanığın adresi – ör. 41928c...4d21. 5.1.2 Tanık İmzası
Tanık imzası, bunun imzası olan Protobuf'ta witness_signature olarak belirtilir. tanık düğümünden blok başlığı. 5.1.3 Blok Kimliği
Block ID, Protobuf'ta blockID olarak belirtilir. Bir bloğun atomik kimliğini içerir. Bir Blok Kimlik 2 parametre içerir: 1. hash: bloğun hash'si. 2. sayı: hash ve bloğun yüksekliği. 5.2 İşlem 5.2.1 İmzalama
TRON'nin işlem imzalama süreci, standart bir ECDSA şifreleme algoritmasını izler.
SECP256K1 seçim eğrisi. Özel anahtar rastgele bir sayıdır ve genel anahtar ise üzerinde bir noktadır.
eliptik eğri. Açık anahtar oluşturma süreci ilk olarak rastgele bir sayının üretilmesinden oluşur.
özel anahtarı elde etmek için eliptik eğrinin taban noktası özel anahtarla çarpılır.
ortak anahtar. Bir işlem gerçekleştiğinde, işlem ham verileri ilk olarak bayt formatına dönüştürülür.
Ham veriler daha sonra SHA-256 hashing işlemine tabi tutulur. Sözleşmeye karşılık gelen özel anahtar
adresi daha sonra SHA256 hash sonucunu imzalar. Daha sonra imza sonucu şuna eklenir:
işlem.
5.2.2 Bant Genişliği Modeli
Sıradan işlemler yalnızca bant genişliği noktalarını tüketir, ancak smart contract işlemleri her ikisini de tüketir enerji ve bant genişliği noktaları. İki tür bant genişliği noktası mevcuttur. Kullanıcılar kazanabilir TRX'in donmasından bant genişliği noktalarının yanı sıra günlük 5000 ücretsiz bant genişliği noktası da mevcuttur.
Bir TRX işlemi yayınlandığında, bir bayt dizisi biçiminde iletilir ve saklanır. ağ. Bir işlem tarafından tüketilen Bant Genişliği Puanları = işlem baytlarının sayısı bant genişliği puan oranıyla çarpılır. Örneğin bir işlemin bayt dizisi uzunluğu 200 ise, daha sonra işlem 200 bant genişliği puanı tüketir. Ancak bir TRX veya token aktarımı aşağıdakilerle sonuçlanırsa oluşturulan hedef hesap, ardından yalnızca hesabı oluşturmak için tüketilen bant genişliği noktaları düşülecek ve ek bant genişliği puanları düşülmeyecektir. Hesap oluşturmada senaryoda, ağ öncelikle işlem başlatıcısının kazandığı bant genişliği noktalarını tüketecektir.TRX'in dondurulmasından. Bu miktar yetersizse ağ işlemi tüketir başlatıcının TRX'i.
Bir TRX hesabından diğerine standart TRX aktarım senaryolarında ağ öncelikle TRX'i dondurmak için işlem başlatıcısı tarafından kazanılan bant genişliği puanları. Eğer bu yeterli değilse o zaman Ücretsiz 5000 günlük bant genişliği noktasından tüketir. Bu hala yeterli değilse, ağ İşlem başlatıcının TRX'ini tüketir. Tutar, bayt sayısına göre hesaplanır. işlem 10 PAZAR ile çarpılır. Bu nedenle, mutlaka dondurulması gerekmeyen çoğu TRX sahibi için TRX'lerinin SR oylamasına katılması durumunda ilk adım otomatik olarak atlanır (TRX bakiyesi dondurulmuş = 0) ve 5000 günlük ücretsiz bant genişliği işleme güç verir.
TRC-10 token aktarımları için, ağ öncelikle toplam boş bant genişliği noktalarının olup olmadığını doğrular. verilen token varlık yeterlidir. Değilse, TRX'in dondurulmasından elde edilen bant genişliği noktaları tüketildi. Hala yeterli bant genişliği noktası yoksa işlemin TRX'ini tüketir başlatıcı.
5.2.3 Ücret
TRON ağı genellikle çoğu işlem için ücret almaz, ancak sistem nedeniyle kısıtlamalar ve adalet, bant genişliği kullanımı ve işlemler belirli ücretler gerektirir.
Ücret ücretleri aşağıdaki kategorilere ayrılmıştır: 1. Normal işlemler bant genişliği puanlarına mal olur. Kullanıcılar ücretsiz günlük bant genişliği noktalarını kullanabilir (5000) veya daha fazlasını elde etmek için TRX'i dondurun. Bant genişliği noktaları yeterli olmadığında TRX doğrudan gönderen hesaptan kullanılır. İhtiyaç duyulan TRX bayt sayısı * 10 SUN'dur. 2. Akıllı sözleşmeler enerjiye mal olur (Bölüm 6), ancak aynı zamanda bant genişliği noktalarına da ihtiyaç duyacaktır. işlemin yayınlanması ve onaylanması. Bant genişliği maliyeti yukarıdakiyle aynıdır. 3. Tüm sorgulama işlemleri ücretsizdir. Enerjiye veya bant genişliğine mal olmaz.
TRON ağı ayrıca aşağıdaki işlemler için bir dizi sabit ücret tanımlar: 1. Tanık düğümü oluşturma: 9999 TRX 2. TRC-10 token verilmesi: 1024 TRX 3. Yeni bir hesap oluşturma: 0,1 TRX 4. Değişim çifti oluşturma: 1024 TRX 5.2.4 Hisse Kanıtı Olarak İşlem (TaPoS)
TRON, tüm işlemlerin ana blockchain doğrulamasını sağlamak için TaPoS'u kullanıyor
sahte zincirler oluşturmak zordur. TaPoS'ta ağlar, her işlemin bir kısmını içermesini gerektirir.
son blok başlığının hash'si. Bu gereksinim, işlemlerin tekrar oynatılmasını engeller.
başvurulan bloğu içermeyen çatallar ve aynı zamanda belirli bir kullanıcının ve onunhisseler belirli bir çatal üzerindedir. Bu fikir birliği mekanizması ağı Reddedilmeye karşı korur
Hizmet, %51, bencil madencilik ve çift harcama saldırıları.
5.2.5 İşlem Onayı
Bir işlem, ağa yayınlandıktan sonra gelecekteki bir bloğa dahil edilir. 19 blok tamamlandıktan sonra TRON tarihinde kazılmış (kendi bloğu dahil), işlem onaylanmıştır. Her blok tarafından üretilir dönüşümlü olarak en iyi 27 Süper Temsilciden biri. Her bloğun tamamlanması ~3 saniye sürer blockchain üzerinde çıkarılacak. Ağ nedeniyle her Süper Temsilci için süre biraz değişebilir koşullar ve makine konfigürasyonları. Genel olarak, bir işlem şu tarihten sonra tamamen onaylanmış sayılır: ~1 dakika. 5.2.6 Yapı
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 } } }
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.

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 } } }
TRON Sanal Makine
6.1 Giriş
TRON Sanal Makine (TVM), aşağıdakiler için geliştirilmiş hafif, Turing eksiksiz bir sanal makinedir TRON'in ekosistemi. Amacı, verimli, özel olarak oluşturulmuş bir blockchain sistemi sağlamaktır. kullanışlı, istikrarlı, güvenli ve ölçeklenebilir.
TVM başlangıçta EVM'den çatallanmıştır ve mevcut sağlamlık smart contract ile sorunsuz bir şekilde bağlantı kurabilir 11 kalkınma ekosistemi. Buna dayanarak TVM ayrıca DPoS fikir birliğini de destekler.
TVM Enerji kavramını kullanır. EVM üzerindeki Gaz mekanizmasından farklı olarak, TVM'deki işlemler ve smart contract'ler ücretsizdir ve TRX kullanılmaz. Teknik olarak yürütülebilir TVM'deki hesaplama kapasitesi tokens tutarındaki toplam tutma miktarıyla sınırlı değildir. 6.2 İş Akışı
Derleyici ilk olarak Solidity smart contract'yi okunabilir ve yürütülebilir bayt koduna çevirir. TVM. TVM daha sonra verileri, mantığı çalıştırmaya eşdeğer olan işlem kodu aracılığıyla işler. yığın tabanlı sonlu durum makinesinin Son olarak TVM, blockchain verilerine erişir ve Birlikte Çalışma katmanı aracılığıyla Harici Veri Arayüzü. 11 EVM: Ethereum Sanal Makine (https://github.com/ethereum/ethereumj)

Şekil 3: TVM İş Akışı
6.3 Performans 6.3.1 Hafif Mimari
TVM, garanti etmek için kaynak tüketimini azaltmak amacıyla hafif bir mimariyi benimsiyor sistem performansı. 6.3.2 Sağlam
TRX aktarımları ve smart contract yürütmesi, TRX yerine yalnızca bant genişliği puanlarına mal olur; TRON adlı kişiyi saldırıya uğramaktan muaf tutar. Bant genişliği tüketimi tahmin edilebilir ve statiktir, çünkü her hesaplama adımı maliyeti sabittir. 6.3.3 Yüksek Uyumluluk
TVM, EVM ile uyumludur ve gelecekte daha yaygın VM'lerle uyumlu olacaktır. Dolayısıyla, EVM üzerindeki tüm smart contract'ler TVM'de yürütülebilir. 6.3.4 Düşük Maliyet
TVM'nin bant genişliği kurulumu sayesinde geliştirme maliyetleri azalır ve geliştiriciler sözleşme kodlarının mantıksal gelişimi. TVM ayrıca sözleşme için hepsi bir arada arayüzler sunar Geliştiricilere kolaylık sağlamak için dağıtım, tetikleme ve görüntüleme.
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)

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.
Akıllı Sözleşme
7.1 Giriş
smart contract, sözleşme görüşmelerini dijital olarak doğrulayan bir protokoldür. Kuralları belirlerler ve Bir anlaşmayla ilgili cezalar ve ayrıca bu yükümlülüklerin otomatik olarak uygulanması. Akıllı sözleşme kodu, bir anlaşmanın müzakere edilmesini veya yerine getirilmesini kolaylaştırır, doğrular ve uygular veya işlem. tokenizasyon perspektifinden bakıldığında, smart contract'ler aynı zamanda otomatik fonlamayı da kolaylaştırır Katılımcı taraflar arasındaki transferlerin belirli kriterlerin karşılanması gerekmektedir.
TRON smart contract'ler Solidity dilinde yazılmıştır. Yazıldıktan ve test edildikten sonra, bunlar bayt kodu halinde derlendi, ardından TRON Sanal Makine için TRON ağına dağıtıldı. Bir kez dağıtıldığında, smart contract'ler sözleşme adresleri aracılığıyla sorgulanabilir. Sözleşme Başvurusu İkili Arayüz (ABI), sözleşmenin çağrı işlevlerini gösterir ve sözleşmeyle etkileşimde bulunmak için kullanılır. ağ. 7.2 Enerji Modeli
smart contract'yi dağıtmak ve tetiklemek için maksimum enerji sınırı birkaç fonksiyonun bir fonksiyonudur değişkenler:
● 1 TRX'in donmasından kaynaklanan dinamik enerji 50.000.000.000 (Toplam Enerji Limiti) / (Toplam Enerji Ağırlık) ● Enerji limiti, TRX'in dondurulmasından kaynaklanan günlük hesap enerji limitidir ● TRX'in dondurulması sonucu kalan günlük hesap enerjisi, Enerji Limiti - Enerji olarak hesaplanır. Kullanılmış ● TRX'teki ücret sınırı smart contract konuşlandırma/tetikleme çağrısında ayarlanır ● Hesapta kalan kullanılabilir TRX ● Doğrudan satın alınırsa TRX başına enerji (10 SUN = 1 Enerji) = 100.000, SR'ler oy kullanabilir ayar
Dağıtım için maksimum enerji sınırını hesaplamak için iki tüketim senaryosu vardır ve
tetikleyin. Mantık şu şekilde ifade edilebilir:
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 Dağıtım
Bir TRON sağlamlık smart contract derlendiğinde, TRON Sanal Makine derlenmiş olanı okur bayt kodu. Bayt kodu, kod dağıtımı, sözleşme kodu ve Yardımcı veriler için bir bölümden oluşur. Auxdata, doğrulama için kullanılan kaynak kodun kriptografik parmak izidir. Dağıtım bytecode yapıcı işlevini çalıştırır ve ilk depolama değişkenlerini ayarlar. Dağıtım kod aynı zamanda sözleşme kodunu da hesaplar ve TVM'ye geri gönderir. ABI bir JSON dosyasıdır. TRON smart contract'nin işlevlerini açıklar. Bu dosya fonksiyon adlarını, ödenebilirliklerini, işlevin dönüş değerleri ve bunların durum değişkenliği. 7.4 Tetikleme Fonksiyonu
TRON smart contract'ler konuşlandırıldıktan sonra işlevleri, aşağıdaki yollarla ayrı ayrı tetiklenebilir: TronStudio veya API çağrıları aracılığıyla. Durum değiştiren işlevler Enerji gerektirirken salt okunur işlevler Enerji olmadan çalıştırın. 7.5 TRON Sağlamlık
TRON Solidity, Ethereum'nin Solidity dilinden bir çataldır. TRON orijinal projeyi şu şekilde değiştirir: TRX ve SUN birimlerini destekler (1 TRX = 1.000.000 SUN). Dil sözdiziminin geri kalanı Sağlamlık ^0.4.24 ile uyumludur. Böylece Tron Sanal Makinesi (TVM) neredeyse %100 uyumludur EVM talimatlarıyla.
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.
Token
8.1 TRC-10 Jetonu
TRON ağında, her hesap 1024 TRX pahasına tokens düzenleyebilir. tokens'yi yayınlamak için, ihraççının bir token adını, toplam kapitalizasyonu, TRX döviz kurunu belirtmesi gerekir, dolaşım süresi, açıklama, web sitesi, hesap başına maksimum bant genişliği tüketimi, toplam bant genişliği tüketimi ve dondurulan token miktarı. Her token düzenlemesi de yapılandırılabilir her hesabın maksimum günlük token aktarım Bant Genişliği Puanı, tüm ağın maksimum günlük puanı token aktarım Bant Genişliği Noktaları, toplam token arzı, gün cinsinden kilitleme süresi ve toplam tutar tokens tanesi kilitlendi. 8.2 TRC-20 Jetonu
TRC-20, tokens'yi uygulayan smart contracts için kullanılan ve tokens tarafından desteklenen teknik bir standarttır. TRON Sanal Makine. ERC-20 ile tamamen uyumludur.
Arayüz aşağıdaki gibidir:
sözleşme TRC20Arayüz {
fonksiyon totalSupply()genelsabit (uint);
işlev balanceOf(adres tokenOwner) genel sabit gelir (uint
denge);
işlev ödenek(adres tokenSahip, adres harcayan) kamusal sabit
geri dönüşler (kalan miktar);
işlev transfer(adres, uint tokens) genel dönüşler (bool başarısı);
işlev onayla(adres harcayan, uint tokens) genel dönüşler (bool
başarı);
işlev transferFrom(adres gelen, adrese, uint tokens) public
geri dönüşler (çok başarılı);
olay Aktarım(adres dizine eklendi, adres dizine eklendi, uint tokens);
olay Onay(adres indekslendi tokenSahip, adres indekslendi harcama yapan kişi, uint
tokens); }
Geliştiricinin bakış açısına göre TRC-10 ile TRC-20 arasında birçok fark vardır. Bazıları Temel farklardan biri TRC-10 token'lere API'ler ve smart contract'ler tarafından erişilebilmesidir. TRC-20 tokens, arayüz özelleştirmesine izin verir ancak yalnızca smart contracts dahilinde erişilebilir.
Maliyet açısından bakıldığında, TRC-10 token'lerin işlem ücretleri 1000 kat daha düşüktür.
TRC-20, ancak API aktarımları ve yatırmaları için bant genişliği maliyetleri taşır. Smart'ta transferler ve para yatırma
TRC-10 tokens için yapılan sözleşmeler hem bant genişliğine hem de enerjiye mal olur.
8.3 Ötesi
TRON, Ethereum ile aynı Solidity sürümünü kullandığından, daha fazla token standardı kolaylıkla oluşturulabilir TRON adresine taşındı.
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.
Yönetişim
9.1 Süper Temsilci 9.1.1 Genel
TRON ağındaki her hesap başvurabilir ve Süper olma fırsatına sahip olabilir Temsilci (SR olarak gösterilir). Herkes SR adaylarına oy verebilir. İlk 27 aday arasında En çok oy alan SR'ler blok oluşturma hakkı ve yükümlülüğüne sahip olacak. Oylar her 6 saatte bir sayılır ve SR'ler buna göre değişir.
Kötü niyetli saldırıları önlemek için SR adayı olmanın bir maliyeti vardır. Başvururken, 9999 TRX, başvuranın hesabından yakılacaktır. Başarılı olduktan sonra bu hesap SR'ye katılabilir seçim. 9.1.2 Seçim
TRON Oy vermek için güç (TP olarak gösterilir) gereklidir ve TP miktarı seçmenin tercihine bağlıdır dondurulmuş varlıklar (TRX).
TP aşağıdaki şekilde hesaplanır:
TP
Bant genişliği elde etmek için 1 TRX donduruldu
1
=
TRON ağındaki her hesap kendi SR'lerine oy verme hakkına sahiptir.
Sürümün yayınlanmasından sonra (dondurulmadan kaldırılır, 3 gün sonra kullanılabilir), kullanıcılar dondurulmuş varlıklara sahip olmayacak ve tüm varlıklarını kaybedecektir. Buna göre TP. Sonuç olarak, devam eden ve gelecek oylama turlarında tüm oylar geçersiz sayılacaktır. TRX oy vermek için tekrar donduruldu.
TRON ağının yalnızca en son oyları kaydettiğini, yani her yeni oyun önceki tüm oyları geçersiz kılacaktır. 9.1.3 Ödül a. Oy Ödülü
En iyi 127 adayın her turda güncellediği Aday Ödülü olarak da bilinir (6
saat) madenciliği yapılan 115.200 TRX'i paylaşacak. Ödül oy ağırlığına göre bölünecek
her aday alır. Her yıl adaylara verilecek toplam ödül 168.192.000 TRX olacaktır.
Tur başına toplam oy ödülü
Neden her turda 115.200 TRX?
15, 00 TRX
tur başına toplam oy ödülü (V R/tur)
1
2
=
VR/dönem = 16 T RX/blok × 20 blok/dak × 60 dakika/saat × 6 saat/dönem
Uyarı: Bu, WITNESS_STANDBY_ALLOWANCE = 115.200 TRX ile ayarlanır. Dinamik ağ parametrelerine bakın.
Yıllık toplam oy ödülü
Neden her yıl 168.192.000 TRX?
168, 192, 000 T RX = yıllık toplam oy ödülü (V R/yıl)
VR/yıl = 115, 200 T RX/tur × 4 tur/gün × 365 gün/yıl
b. Ödülü Engelle
Seçilen en iyi 27 adaya (SR) verilen Süper Temsilci Ödülü olarak da bilinir.
Her turda (6 saat) kabaca 230.400 TRX çıkarılacak. Ödül eşit olarak paylaştırılacak
27 SR arasında (ağ hatası nedeniyle kaçırılan toplam ödül blokları hariç). Toplam
27 SR'ye yıllık olarak 336.384.000 TRX verilecek.
Tur başına toplam blok ödülü
Neden her turda 230.400 TRX?
230, 400 T RX = tur başına toplam blok ödülü (BR/tur)
BR/tur = 32 T RX/blok × 20 blok/dak × 60 dakika/saat × 6 saat/tur
Dikkat: Birim blok ödülü WITNESS_PAY_PER_BLOCK = 32 TRX ile belirlenir. Dinamik ağı görün
parametreler.
Yıllık toplam blok ödülü
Neden her yıl 336.384.000 TRX?
336, 384, 000 T RX = yıllık toplam blok ödülü (BR/yıl)
BR/yıl = 230, 400 T RX/tur × 4 tur/gün × 365 gün/yıl
1 Ocak 2021
1 Ocak 2021'den önce TRON ağında enflasyon olmayacak ve TRON DAO
tüm blok ödüllerini ve aday ödüllerini bu tarihten önce verin.
C. Ödül Hesaplama
SR ödül hesaplaması
toplam ödül
oy ödülü (V R)
blok ödülü (BR)
t
=
+
R
toplam VR
V
=
×
toplam oy
SR adayının aldığı oylar
R
kaçırılan blok
2
B
=
27
toplam BR –
× 3
Not: Ödül, tur başına SR başına hesaplanır (6 saat)
- sıradan 127. sıraya kadar SR adayı ödül hesaplaması toplam ödül oy ödülü (V R) t =
R
toplam VR
V
=
×
toplam oy
SR adayının aldığı oylar
Not: Ödül, tur başına SR adayı başına hesaplanır (6 saat)
9.2 Komite
9.2.1 Genel
Komite, blok oluşturma gibi TRON dinamik ağ parametrelerini değiştirmek için kullanılır
ödüller, işlem ücretleri vb. Komite mevcut turdaki 27 SR'den oluşur. Her bir SR
tekliflerde bulunma ve oylama hakkına sahiptir. Bir öneri 19 veya daha fazla oy aldığında,
onaylanacak ve yeni ağ parametreleri bir sonraki bakım döneminde (3 gün) uygulanacaktır.
9.2.2 Dinamik Ağ Parametreleri
0.
MAINTENANCE_TIME_INTERVAL
a.
Açıklama
Bakım aralığı süresini ms cinsinden değiştirin. SR oy aralığı süresi olarak bilinir
yuvarlak.
B.
Örnek
[6 * 3600 * 1000] ms - yani 6 saat.
C.
Aralık
[3 * 27* 1000, 24 * 3600 * 1000] ms
1.
ACCOUNT_UPGRADE_COST
a.
Açıklama
SR hesabına başvuru maliyetini değiştirin.
B.
Örnek
[9.999.000.000] SUN - yani 9.999 TRX.
C.
Aralık
[0,100 000 000 000 000 000] PAZ
2.
CREATE_ACCOUNT_FEE
a.
Açıklama
Hesap oluşturma ücretini değiştirin.B.
Örnek
[100.000] SUN - 1 TRX'tir.
C.
Aralık
[0,100 000 000 000 000 000] PAZ
3.
TRANSACTION_FEE
a.
Açıklama
Ekstra bant genişliği kazanmak için kullanılan ücret miktarını değiştirin.
B.
Örnek
[10] SUN/bayt.
C.
Aralık
[0,100 000 000 000 000 000] SUN/bayt
4.
ASSET_ISSUE_FEE
a.
Açıklama
Varlık ihraç ücretini değiştirin.
B.
Örnek
[1024.000.000] SUN - yani 1024 TRX.
C.
Aralık
[0,100 000 000 000 000 000] PAZ
5.
WITNESS_PAY_PER_BLOCK
a.
Açıklama
SR blok oluşturma ödülünü değiştirin. Birim blok ödülü olarak bilinir.
B.
Örnek
[32.000.000] SUN - yani 32 TRX.
C.
Aralık
[0,100 000 000 000 000 000] PAZ
6.
WITNESS_STANDBY_ALLOWANCE
a.
Açıklama
En iyi 127 SR adayına verilen ödülleri değiştirin. Toplam oy ödülü olarak bilinir
tur başına.
B.
Örnek
[115.200.000.000] PAZAR - ki bu 115.200 TRX'tir.
C.
Aralık
[0,100 000 000 000 000 000] PAZ
7.
CREATE_NEW_ACCOUNT_FEE_IN_SYSTEM_CONTRACT
a.
Açıklama
Hesap oluşturma maliyetini değiştirin. Elde etmek için dinamik ağ parametreleri #8'i birleştirin
toplam hesap oluşturma maliyeti:
REATE_NEW_ACCOUNT_FEE_IN_SY STEM_CONTRACT
REATE_NEW_ACCOUNT_BANDWIDTH_RATE
Ç
× Ç
b. Örnek [0] PAZ. C. Aralık [0,100 000 000 000 000 000] PAZ 8. CREATE_NEW_ACCOUNT_BANDWIDTH_RATE
a.
Açıklama
Hesap oluşturma maliyetini değiştirin. Elde etmek için dinamik ağ parametreleri #7'yi birleştirin
toplam hesap oluşturma maliyeti:
REATE_NEW_ACCOUNT_FEE_IN_SY STEM_CONTRACT
REATE_NEW_ACCOUNT_BANDWIDTH_RATE
Ç
× C
b. Örnek [1]. C. Aralık [0,100,000,000,000,000,000] 9. ALLOW_CREATION_OF_CONTRACTS a. Açıklama Tron Sanal Makinesini (TVM) açmak için. B. Örnek Doğru - 10/10/2018 23:47 UTC'den itibaren etkinleşecek ve geçerli olacak şekilde ayarlandı. C. Aralık Doğru/Yanlış 10. REMOVE_THE_POWER_OF_THE_GR a. Açıklama İlk GR oluşum oylarını kaldırın b. Örnek Doğru - 4/11/2018 08:46 UTC itibarıyla yürürlüğe girmiştir. C. Aralık Doğru/Yanlış - Uyarı: Doğru'dan Yanlış'a geri dönülemez. 11. ENERGY_FEE a. Açıklama 1 enerji ücretini değiştirin. B. Örnek 20 PAZ. C. Aralık [0,100 000 000 000 000 000] PAZ 12. EXCHANGE_CREATE_FEE a. Açıklama Ticaret çifti oluşturma maliyetini değiştirin. Ticari sipariş oluşturmanın maliyeti olarak bilinir. B. Örnek [1.024.000.000] SUN - yani 1024 TRX. C. Aralık [0,100 000 000 000 000 000] PAZ 13. MAX_CPU_TIME_OF_ONE_TX a. Açıklama Bir işlemin maksimum yürütme süresini değiştirin. Zaman aşımı sınırı olarak bilinir bir işlem. B. Örnek 50 ms. C. Aralık
[0, 1000] ms
14. ALLOW_UPDATE_ACCOUNT_NAME
a.
Açıklama
Bir hesabın, hesap adını güncellemesine izin verme seçeneğini değiştirin.
B.
Örnek
Yanlış - Java-tron Odyssey v3.2'den önerilebilir.
C.
Aralık
Doğru/Yanlış - Uyarı: Doğru'dan Yanlış'a geri dönülemez.
15. ALLOW_SAME_TOKEN_NAME
a.
Açıklama
Farklı token öğelerinin yinelenen ada sahip olmasına izin verecek şekilde doğrulamayı değiştirin.
B.
Örnek
Yanlış - Java-tron Odyssey v3.2'den önerilebilir.
C.
Aralık
Doğru/Yanlış - Uyarı: Doğru'dan Yanlış'a geri dönülemez.
16. ALLOW_DELEGATE_RESOURCE
a.
Açıklama
token verilmesine izin verme doğrulamasını yinelenen bir adla değiştirin, böylece
Uzun tamsayı veri türündeki token'nin tokenID'si tek atomik olabilir
token'nin kimliği.
B.
Örnek
Yanlış - Java-tron Odyssey v3.2'den önerilebilir.
C.
Aralık
Doğru/Yanlış - Uyarı: Doğru'dan Yanlış'a geri dönülemez.
17.TOTAL_ENERGY_LIMIT
a.
Açıklama
Tüm ağın toplam enerji limitini değiştirin.
B.
Örnek
[50.000.000.000.000.000] SUN - 50.000.000.000 TRX'tir.
C.
Aralık
[0,100,000,000,000,000,000] PAZAR
18. ALLOW_TVM_TRANSFER_TRC10
a.
Açıklama
smart contracts içinde TRC-10 token aktarımına izin verin.
ALLOW_UPDATE_ACCOUNT_NAME, ALLOW_SAME_TOKEN_NAME,
ALLOW_DELEGATE_RESOURCE tekliflerinin tümü teklif verilmeden önce onaylanmalıdır
bu parametre değişir.
B.
Örnek
Yanlış - Java-tron Odyssey v3.2'den önerilebilir.
C.
Aralık
Doğru/Yanlış - Uyarı: Doğru'dan Yanlış'a geri dönülemez.9.2.3 Teklif Oluşturma
Yalnızca SR hesapları dinamik ağ parametrelerinde değişiklik önerme hakkına sahiptir. 9.2.4 Oy Önerisi
Bir öneriye yalnızca komite üyeleri (SR'ler) oy verebilir ve zamanında oy kullanmayan üye katılmıyorum olarak kabul edilecektir. Teklif, oluşturulduktan sonra 3 gün boyunca etkindir. Oy verebilir 3 günlük oylama süresi içerisinde değiştirilebilir veya geri alınabilir. Teklif, sürenin bitiminden sonra ya başarılı olur (19+ oy) ya da başarısız olur (ve biter). 9.2.5 Teklifi İptal Et
Teklif sahibi, teklifin yürürlüğe girmesinden önce teklifini iptal edebilir. 9.3 Yapı
SR'ler yeni oluşturulan blokların tanıklarıdır. Bir tanık 8 parametre içerir:
1.
adres: bu tanığın adresi – ör. 0xu82h…7237.
2.
voteCount: bu tanığın aldığı oyların sayısı – ör. 234234.
3.
pubKey: bu tanığın genel anahtarı – ör. 0xu82h…7237.
4.
url: bu tanığın URL'si – ör. https://www.noonetrust.com.
5.
totalProduced: bu tanığın ürettiği blokların sayısı – ör. 2434.
6.
totalMissed: bu tanığın kaçırdığı blok sayısı – ör. 7.
7.
en sonBlockNum: bloğun en son yüksekliği – ör. 4522.
8.
isjobs: bir boole bayrağı.
Protobuf veri yapısı:
mesaj Tanık{
bayt adresi = 1;
int64 oySayısı = 2;
Bayt pubKey = 3;
dize URL'si = 4;
int64 toplam Üretilen = 5;
int64 toplam Kaçırılan = 6;
int64 en sonBlockNum = 7;
bool İşler = 8;
}
- DApp Geliştirme 10.1 API'ler
TRON ağı, etkileşim için 60'tan fazla HTTP API ağ geçidinden oluşan geniş bir seçim sunar. Tam ve Sağlamlık Düğümleri aracılığıyla ağ. Ayrıca TronWeb kapsamlı bir JavaScript kütüphanesidir geliştiricilerin smart contracts dağıtımını yapmasına olanak tanıyan API işlevlerini içeren, blockchain değerini değiştirin durumu, blockchain sorgusu ve sözleşme bilgileri, DEX'te ticaret ve çok daha fazlası. Bu API'ler ağ geçitleri yerel bir özel ağa, Shasta test ağına veya TRON Ana Ağa yönlendirilebilir.
10.2 Ağlar
TRON hem Shasta test ağına hem de Mainnet'e sahiptir. Geliştiriciler ağlara şu yollarla bağlanabilir:
düğümleri dağıtmak, TronStudio aracılığıyla etkileşimde bulunmak veya TronGrid hizmeti aracılığıyla API'leri kullanmak. TronGrid
hizmet, dünya çapındaki AWS sunucularında barındırılan yük dengeli düğüm kümelerinden oluşur. DApp olarak
geliştirme ölçekleri büyür ve API çağrı hacimleri artar, TronGrid bu artışı başarılı bir şekilde karşılar
API trafiği.
10.3 Araçlar
TRON, geliştiricilerin yenilikçi DApp'ler oluşturmasına olanak tanıyan bir geliştirme araçları paketi sunar.
TronBox, geliştiricilerin TronWeb aracılığıyla smart contracts'yi test etmesine ve dağıtmasına olanak tanıyan bir çerçevedir
API'dir. TronGrid, geliştiricilerin
TRON kendi düğümlerini çalıştırmaya gerek kalmadan ağ kurabilirler. TronGrid hem Shasta'ya erişim sunuyor
testnet'in yanı sıra TRON Ana Ağ. TronStudio kapsamlı bir Entegre Geliştirmedir
Geliştiricilerin Solidity smart'larını derlemelerine, dağıtmalarına ve hata ayıklamalarına olanak tanıyan ortam (IDE)
sözleşmeler. TronStudio, özel bir yerel ortam oluşturan dahili bir tam düğüm içerir.
Dağıtımdan önce smart contract test ediliyor. TronWeb API kütüphanesi geliştiricileri
JavaScript'e sarılmış çok çeşitli HTTP API çağrıları aracılığıyla ağ.
10.4 Kaynaklar
TRON Geliştirici Merkezi, aşağıdakilere yönelik olarak tasarlanmış kapsamlı bir API dokümantasyon sitesidir: 12 TRON ağı üzerinde kurulum yapmak isteyen geliştiriciler. Geliştirici Merkezi üst düzey bir TRON kavramsal olarak anlaşılmasını sağlar ve kullanıcılara uygulamayla etkileşimin ayrıntıları konusunda yol gösterir. 12 Geliştirici Merkezi: https://developers.tron.network/
ağ. Kılavuzlar, geliştiricilere düğüm kurulumu, dağıtımı ve akıllı yazılımlarla etkileşimi konusunda yol gösterir.
sözleşmeler, API etkileşimi ve uygulaması, örnek DApp'ler oluşturma ve bunların her birini kullanma
geliştirici araçları. Ek olarak geliştirici topluluğu kanallarına Discord üzerinden ulaşılabilir.
13
13 Anlaşmazlık: https://discordapp.com/invite/GsRgsTD
- Sonuç
TRON, sorunların üstesinden gelmek için yenilikçi yöntemler kullanan, ölçeklenebilir bir blockchain çözümüdür eski blockchain ağlarının karşılaştığı zorluklar. Günde 2 milyondan fazla işleme ulaşan 700.000'den fazla TRX hesabıyla ve 2.000'i aşan TPS, TRON topluluğa şu konularda olanak sağladı: merkezi olmayan ve demokratikleştirilmiş bir ağ oluşturmak.
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;
}
- 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
- 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.