TRON Teknik Raporu
Introdução
1.1 Visão
TRON é um projeto ambicioso dedicado ao estabelecimento de uma Internet verdadeiramente descentralizada e sua
infraestrutura. O protocolo TRON, um dos maiores sistemas operacionais baseados em blockchain do
mundo, oferece suporte público blockchain de alto rendimento, alta escalabilidade e alta disponibilidade para
todos os aplicativos descentralizados (DApps) no ecossistema TRON. A aquisição de julho de 2018 da
O BitTorrent consolidou ainda mais a liderança de TRON na busca de um ecossistema descentralizado.
1.2 Antecedentes
A introdução de Bitcoin em 2009 revolucionou a percepção da sociedade sobre o mercado financeiro tradicional sistema na sequência da Grande Recessão (2007-2008). Como fundos de hedge e bancos centralizados entrou em colapso devido à especulação em derivativos financeiros opacos, a tecnologia blockchain forneceu um livro razão universal transparente do qual qualquer pessoa poderia obter informações sobre transações. O as transações foram protegidas criptograficamente usando um mecanismo de consenso de Prova de Trabalho (PoW), evitando assim problemas de gastos duplos.
No final de 2013, o white paper Ethereum propôs uma rede na qual smart contracts e um A Máquina Virtual Turing-complete Ethereum (EVM) permitiria aos desenvolvedores interagir com o rede através de DApps. No entanto, como os volumes de transações em Bitcoin e Ethereum atingiram o pico em 2017, ficou evidente pelos baixos tempos de processamento das transações e pelas altas taxas de transação que criptomoedas como Bitcoin e Ethereum em seu estado existente não eram escaláveis para uso generalizado adoção. Assim, TRON foi fundado e idealizado como uma solução inovadora para essas questões urgentes. desafios de escalabilidade.

1.3 História O TRON DAO foi estabelecido em julho de 2017 em Cingapura. Em dezembro de 2017, TRON tinha lançou seu protocolo de código aberto. O Testnet, Blockchain Explorer e Web Wallet foram todos lançada em março de 2018. TRON Mainnet foi lançada logo depois, em maio de 2018, marcando o Lançamento do Odyssey 2.0 como um marco técnico. Em junho de 2018, TRON declarou sua independência com a criação do bloco Genesis, juntamente com a aquisição do BitTorrent em julho de 2018. Em Outubro de 2018, TRON lançou a TRON Máquina Virtual (TVM), um conjunto completo de ferramentas para desenvolvedores, e sistema de suporte 360. O roteiro TRON envolve combinar os 100 milhões de usuários do BitTorrent com a rede TRON por meio do Project Atlas, além de incentivar a comunidade de desenvolvedores a lançar novos e emocionantes DApps na rede TRON1. 1 V1.0 está disponível em https://tron.network/static/doc/white_paper_v_1_0.pdf
1.4 Terminologia
Endereço/carteira Um endereço ou carteira que consiste em credenciais de conta na rede TRON é gerado por um par de chaves, que consiste em uma chave privada e uma chave pública, sendo esta última derivada da primeira através de um algoritmo. A chave pública é geralmente usada para criptografia de chave de sessão, assinatura verificação e criptografia de dados que poderiam ser descriptografados por uma chave privada correspondente.
ABI Uma interface binária de aplicativo (ABI) é uma interface entre dois módulos de programa binário; normalmente um desses módulos é uma biblioteca ou recurso do sistema operacional e o outro é uma execução do usuário programa.
API Uma interface de programação de aplicativos (API) é usada principalmente para desenvolvimento de clientes de usuários. Com API suporte, plataformas de emissão token também podem ser projetadas pelos próprios desenvolvedores.
Ativo Nos documentos de TRON, o ativo é igual a token, que também é indicado como TRC-10 token.
Pontos de largura de banda (BP) Para manter a rede operando sem problemas, as transações da rede TRON usam a BP como combustível. Cada conta recebe 5.000 BP diários gratuitos e mais podem ser obtidos congelando TRX para BP. TRX e TRC-10 token transferências são transações normais que custam BP. Implantação e execução de contratos inteligentes as transações consomem tanto BP quanto Energia.
Bloquear Os blocos contêm os registros digitais das transações. Um bloco completo consiste no número mágico, tamanho do bloco, cabeçalho do bloco, contador de transações e dados de transação.
Recompensa de bloco As recompensas de produção de blocos são enviadas para uma subconta (endereço/carteira). Superrepresentantes podem reivindicar suas recompensas no Tronscan ou diretamente através da API.
Cabeçalho do bloco Um cabeçalho de bloco faz parte de um bloco. Os cabeçalhos dos blocos TRON contêm o hash do bloco anterior, o Raiz Merkle, carimbo de data/hora, versão e endereço da testemunha.Carteira Fria A carteira fria, também conhecida como carteira offline, mantém a chave privada completamente desconectada de qualquer rede. As carteiras frias são geralmente instaladas em dispositivos "frios" (por exemplo, computadores ou telefones celulares). permanecer offline) para garantir a segurança da chave privada TRX.
DApp Aplicativo descentralizado é um aplicativo que opera sem uma parte centralmente confiável. Um aplicativo que permite interação/acordos/comunicação direta entre usuários finais e/ou recursos sem intermediário.
gRPC gRPC (gRPC Remote Procedure Calls) é um sistema de chamada de procedimento remoto (RPC) de código aberto 2 inicialmente desenvolvido no Google. Ele usa HTTP/2 para transporte, buffers de protocolo como interface linguagem de descrição e fornece recursos como autenticação, streaming bidirecional e fluxo controle, ligações bloqueadoras ou não bloqueadoras e cancelamento e tempos limite. Ele gera ligações de cliente e servidor de plataforma cruzada para vários idiomas. Cenários de uso mais comuns incluem a conexão de serviços em arquitetura estilo microsserviços e a conexão de dispositivos móveis, e clientes de navegador para serviços de back-end.
Carteira quente A carteira quente, também conhecida como carteira online, permite que a chave privada do usuário seja usada online, podendo assim ser suscetível a vulnerabilidades potenciais ou interceptação por atores mal-intencionados.
JDK Java Development Kit é o Java SDK usado para aplicativos Java. É o núcleo do Java desenvolvimento, compreendendo o ambiente de aplicação Java (biblioteca de classes JVM + Java) e Java ferramentas.
KhaosDB TRON possui um KhaosDB na memória do nó completo que pode armazenar todas as cadeias recém-bifurcadas geradas dentro de um determinado período de tempo e ajuda as testemunhas a mudar rapidamente de sua própria cadeia ativa em uma nova cadeia principal. Consulte 2.2.2 Armazenamento de estado para obter mais detalhes.
NívelDB O LevelDB foi inicialmente adotado com o objetivo principal de atender aos requisitos de R/W rápido e rápido desenvolvimento. Após lançar a Mainnet, TRON atualizou seu banco de dados para um totalmente customizado um atendia às suas próprias necessidades. Consulte 2.2.1 Armazenamento Blockchain para obter mais detalhes.
Raiz Merkel Uma raiz Merkle é o hash de todos os hashes de todas as transações incluídas como parte de um bloco em um blockchain rede. Consulte 3.1 Prova de participação delegada (DPoS) para obter mais detalhes. 2 https://en.wikipedia.org/wiki/GRPC

Rede de teste pública (Shasta) Uma versão da rede executada em uma configuração de nó único. Os desenvolvedores podem se conectar e testar recursos sem se preocupar com a perda econômica. Testnet tokens não têm valor e qualquer um pode solicite mais da torneira pública.
RPC
3
Na computação distribuída, uma chamada de procedimento remoto (RPC) ocorre quando um programa de computador causa um
procedimento (sub-rotina) para ser executado em um espaço de endereço diferente (geralmente em outro computador em
uma rede compartilhada), que é codificada como se fosse uma chamada de procedimento normal (local), sem o
programador codificando explicitamente os detalhes da interação remota.
Escalabilidade A escalabilidade é um recurso do protocolo TRON. É a capacidade de um sistema, rede ou processo de lidar com uma quantidade crescente de trabalho ou seu potencial será ampliado para acomodar esse crescimento.
SOL SUN substituiu drop como a menor unidade de TRX. 1 TRX = 1.000.000 SOL.
Taxa de transferência Alto rendimento é um recurso da TRON Mainnet. É medido em transações por segundo (TPS), ou seja, a capacidade máxima de transação em um segundo.
Carimbo de data e hora O tempo aproximado de produção do bloco é registrado como timestamp Unix, que é o número de milissegundos decorridos desde 00:00:00 de 01 de janeiro de 1970 UTC.
TKC Configuração de token.
TRC-10 Um padrão de criptografia token na plataforma TRON. Certas regras e interfaces devem ser seguidas ao realizar uma oferta inicial de moedas em TRON blockchain.
TRX TRX significa Tronix, que é a criptomoeda oficial de TRON.
3 https://en.wikipedia.org/wiki/Remote_procedure_call
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
Arquitetura
TRON adota uma arquitetura de 3 camadas dividida em camada de armazenamento, camada central e camada de aplicativo. O protocolo TRON segue o Google Protobuf, que oferece suporte intrínseco a vários idiomas extensão.

Figura 1: TRON Arquitetura de 3 camadas
2.1 Núcleo
Existem vários módulos na camada principal, incluindo smart contracts, gerenciamento de contas e consenso. Uma máquina virtual baseada em pilha é implementada em TRON e uma instrução otimizada conjunto é usado. Para melhor oferecer suporte aos desenvolvedores de DApp, Solidity foi escolhido como smart contract 4 idioma, seguido de suporte futuro para outros idiomas avançados. Além disso, o consenso de TRON mecanismo é baseado em Prova de Participação Delegada (DPoS) e muitas inovações foram feitas em para atender aos seus requisitos exclusivos. 2.2 Armazenamento
TRON projetou um protocolo exclusivo de armazenamento distribuído que consiste em Block Storage e State Armazenamento. A noção de banco de dados gráfico foi introduzida no design da camada de armazenamento para atender melhor à necessidade de armazenamento diversificado de dados no mundo real. 2.2.1 Armazenamento Blockchain
TRON blockchain armazenamento opta por usar LevelDB, que é desenvolvido pelo Google e comprovado sucesso com muitas empresas e projetos. Possui alto desempenho e suporta bytes arbitrários matrizes como chaves e valores, obtenção, colocação e exclusão singular, colocação e exclusão em lote, bidirecional iteradores e compactação simples usando o algoritmo Snappy muito rápido. 2.2.2 Armazenamento de Estado
TRON possui um KhaosDB na memória do nó completo que pode armazenar todas as cadeias recém-bifurcadas geradas dentro de um determinado período de tempo e ajuda as testemunhas a mudar rapidamente de sua própria cadeia ativa em uma nova cadeia principal. Ele também pode proteger o armazenamento blockchain, tornando-o mais estável contra terminando anormalmente em um estado intermediário. 2.3 Aplicação
Os desenvolvedores podem criar uma grande variedade de DApps e carteiras personalizadas em TRON. Desde TRON permite que smart contracts sejam implantados e executados, as oportunidades de aplicativos utilitários são ilimitado. 4 Documentação oficial do Solidity: https://solidity.readthedocs.io/
2.4 Protocolo
O protocolo TRON adere aos Google Protocol Buffers , que é um protocolo neutro em termos de linguagem, plataforma e 5 e extensível de serializar dados estruturados para uso em protocolos de comunicação, armazenamento de dados, e muito mais. 2.4.1 Buffers de Protocolo
Protocol Buffers (Protobuf) é um mecanismo flexível, eficiente e automatizado para serializar dados estruturados. dados, semelhantes a JSON ou XML, mas muito menores, mais rápidos e mais simples.
As definições de protobuf (.proto) podem ser usadas para gerar código para C++, Java, C#, Python, Ruby, Linguagens Golang e Objective-C por meio dos geradores de código oficiais. Vários terceiros implementações também estão disponíveis para muitos outros idiomas. Protobuf facilita o desenvolvimento para clientes unificando as definições da API e também otimizando as transferências de dados. Os clientes podem usar a API .proto do repositório de protocolo de TRON e integrado por meio do código gerado automaticamente bibliotecas.
Como comparação, os buffers de protocolo são de 3 a 10 vezes menores e de 20 a 100 vezes mais rápidos que o XML, com sintaxe menos ambígua. Protobuf gera classes de acesso a dados mais fáceis de usar programaticamente. 2.4.2HTTP
TRON O protocolo fornece uma API RESTful HTTP alternativa à API Protobuf. Eles compartilham o mesmo interface, mas a API HTTP pode ser facilmente usada em clientes javascript. 2.5 TRON Máquina Virtual (TVM)
O TVM é uma máquina virtual Turing completa e leve desenvolvida para o ecossistema de TRON. O
A TVM se conecta perfeitamente com o ecossistema de desenvolvimento existente para fornecer milhões de recursos globais
desenvolvedores com um sistema blockchain personalizado que é eficiente, conveniente, estável, seguro e
escalável.
2.6 Exchange Descentralizada (DEX)
5 Documentação oficial dos buffers de protocolo do Google: https://developers.google.com/protocol-buffers/A rede TRON oferece suporte nativo a funções de exchange descentralizadas. Uma exchange descentralizada consiste em vários pares de negociação. Um par de negociação (notação “Exchange”) é um mercado de câmbio entre TRC-10 tokens, ou entre um TRC-10 token e TRX. Qualquer conta pode criar uma negociação par entre quaisquer tokens, mesmo que o mesmo par já exista na rede TRON. Negociação e as flutuações de preços dos pares de negociação seguem o Protocolo Bancor. A rede TRON estipula que 6 os pesos dos dois tokens em todos os pares de negociação são iguais, então a proporção de seus saldos é o preço entre eles. Por exemplo, considere um par comercial contendo dois tokens, ABC e DEF. ABC tem um saldo de 10 milhões e o DEF tem um saldo de 1 milhão. Como seus pesos são iguais, 10 ABC = 1 DEF. Isso significa que a proporção de ABC para DEF é de 10 ABC por DEF. 2.7 Implementação
O código TRON blockchain é implementado em Java e era originalmente uma bifurcação de EthereumJ.
6 Site oficial do Protocolo Bancor: https://about.bancor.network/protocol/
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/
Consenso
3.1 Prova de Participação Delegada (DPoS)
O mecanismo de consenso mais antigo é o mecanismo de consenso Prova de Trabalho (PoW). Isto o protocolo está atualmente implementado em Bitcoin e Ethereum . Em sistemas PoW, as transações 7 8 transmitidos pela rede são agrupados em blocos nascentes para confirmação do minerador. O O processo de confirmação envolve hashing transações usando algoritmos criptográficos hashing até que um A raiz merkle foi alcançada, criando uma árvore merkle:
Figura 2: 8 transações TRX são hash inseridas na raiz merkle. Essa raiz merkle é então incluída no cabeçalho do bloco, que é anexado aos blocos previamente confirmados para formar um blockchain. Isso permite um rastreamento fácil e transparente de transações, carimbos de data/hora e outras informações relacionadas.
7 Bitcoin documento técnico: https://bitcoin.org/bitcoin.pdf 8 Ethereum documento técnico: https://github.com/ethereum/wiki/wiki/White-Paper
Algoritmos criptográficos hashing são úteis na prevenção de ataques à rede porque possuem
várias propriedades:
9
●
Tamanho do comprimento de entrada/saída - O algoritmo pode passar uma entrada de qualquer tamanho e
gera um valor hash de comprimento fixo.
●
Eficiência - O algoritmo é relativamente fácil e rápido de calcular.
●
Resistência de pré-imagem - Para uma determinada saída z, é impossível encontrar qualquer entrada x tal que
h(x) = z. Em outras palavras, o algoritmo hashing h(x) é uma função unidirecional em que apenas o
a saída pode ser encontrada, dada uma entrada. O inverso não é possível.
●
Resistência à colisão - É computacionalmente inviável encontrar quaisquer pares x1 ≠ x2 tais que h(x1)
=h(x2). Em outras palavras, a probabilidade de encontrar duas entradas diferentes hash na mesma
a saída é extremamente baixa. Esta propriedade também implica segunda resistência de pré-imagem.
●
Segunda resistência de pré-imagem - Dado x1, e portanto h(x1), é computacionalmente inviável
encontre qualquer x2 tal que h(x1) = h(x2). Embora esta propriedade seja semelhante à resistência à colisão, o
propriedade difere porque diz que um invasor com um determinado x1 irá encontrá-lo computacionalmente
inviável encontrar qualquer x2 hashing para a mesma saída.
●
Determinístico - mapeia cada entrada para uma e apenas uma saída.
●
Efeito Avalanche - uma pequena alteração na entrada resulta em uma saída totalmente diferente.
Estas propriedades conferem à rede de criptomoedas o seu valor intrínseco, garantindo que os ataques não comprometer a rede. Quando os mineradores confirmam um bloqueio, eles são recompensados com tokens como um recurso integrado incentivo à participação na rede. No entanto, à medida que a capitalização do mercado global de criptomoedas aumentou constantemente, os mineiros tornaram-se centralizados e concentraram seus recursos de computação em acumular tokens como ativos, e não para fins de participação na rede. Os mineradores de CPU deram lugar a GPUs, que por sua vez deram lugar a poderosos ASICs. Em um estudo notável, o poder total o consumo de mineração Bitcoin foi estimado em até 3 GW, comparável ao da Irlanda 10 consumo de energia. Este mesmo estudo projetou que o consumo total de energia atingirá 8 GW no próximo futuro.
Para resolver a questão do desperdício de energia, o mecanismo de consenso Proof of Stake (PoS) foi proposto por muitas novas redes. Em redes PoS, os titulares de token bloqueiam seus saldos token para se tornarem bloqueados validators. Os validators se revezam propondo e votando no próximo bloco. No entanto, o problema com PoS padrão é que a influência de validator se correlaciona diretamente com a quantidade de tokens bloqueados. Isto resulta em partes que acumulam grandes quantidades da moeda base da rede e exercem indevidamente influência no ecossistema da rede.
O mecanismo de consenso TRON usa um sistema inovador de Prova de Participação Delegada no qual 27
Super Representantes (SRs) produzem blocos para a rede. A cada 6 horas, titulares de contas TRX
que congelam suas contas podem votar em uma seleção de candidatos SR, com os 27 principais candidatos
considerados os SRs. Os eleitores podem escolher RS com base em critérios como projetos patrocinados por RS para
9 PAAR, C., PELZL, J., Compreendendo a criptografia: um livro didático para estudantes e profissionais, 2010 ed.
Springer-Verlag Berlim Heidelberg, 2010.
10 https://www.sciencedirect.com/science/article/pii/S2542435118301776aumentar a adoção do TRX e recompensas distribuídas aos eleitores. Isto permite um ambiente mais democratizado e
ecossistema descentralizado. As contas dos SRs são contas normais, mas a sua acumulação de votos
lhes permite produzir blocos. Com as baixas taxas de transferência de Bitcoin e Ethereum devido à sua
Mecanismo de consenso PoW e problemas de escalabilidade, o sistema TRON de DPoS oferece um inovador
mecanismo resultando em 2000 TPS em comparação com Bitcoin 3 TPS e Ethereum 15 TPS.
A rede do protocolo TRON gera um bloco a cada três segundos, com cada bloco concedendo 32 TRX para Super Representantes. Um total de 336.384.000 TRX serão concedidos anualmente aos 27 SRs. Cada vez que um SR termina a produção do bloco, as recompensas são enviadas para uma subconta no super-razão. Os SRs podem verificar, mas não fazer uso direto desses TRX tokens. Um saque pode ser feito por cada SR uma vez a cada 24 horas, transferindo as recompensas da subconta para o SR especificado conta.
Os três tipos de nós na rede TRON são Witness Node, Full Node e Solidity Node. Os nós testemunhas são configurados pelos SRs e são os principais responsáveis pela produção e proposta de blocos criação/votação. Nós completos fornecem APIs e transações e blocos de transmissão. Sincronização de nós de solidez blocos de outros Full Nodes e também fornecem APIs indexáveis.
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.
Conta
4.1 Tipos
Os três tipos de contas na rede TRON são contas normais, contas token e contas contratuais.
1.
Contas regulares são usadas para transações padrão.
2.
Contas de token são usadas para armazenar TRC-10 tokens.
3.
As contas de contrato são contas smart contract criadas por contas normais e podem ser
acionado por contas regulares também.
4.2 Criação
Existem três maneiras de criar uma conta TRON:
1. Crie uma nova conta através da API 2. Transfira TRX para um novo endereço de conta 3. Transfira qualquer TRC-10 token para um novo endereço de conta
Um par de chaves off-line composto por um endereço (chave pública) e uma chave privada, e não registrado pelo TRON rede, também pode ser gerada. O algoritmo de geração de endereço de usuário consiste em gerando um par de chaves e depois extraindo a chave pública (matriz de bytes de 64 bytes representando x, y coordenadas). Faça hash da chave pública usando a função SHA3-256 (o protocolo SHA3 adotado é KECCAK-256) e extraia os últimos 20 bytes do resultado. Adicione 41 ao início da matriz de bytes e certifique-se de que o comprimento do endereço inicial seja de 21 bytes. Hash o endereço duas vezes usando a função SHA3-256 e pegue os primeiros 4 bytes como código de verificação. Adicione o código de verificação ao final do inicial endereço e obtenha o endereço no formato base58check por meio da codificação base58. Um codificado O endereço da rede principal começa com T e tem 34 bytes de comprimento. 4.3 Estrutura
Os três tipos de conta diferentes são Normal, AssetIssue e Contrato. Uma conta contém 7 parâmetros:
1.
nome_da_conta: o nome desta conta – por exemplo. Conta de contas.
2.
tipo: que tipo é esta conta – por ex. 0 (significa tipo ‘Normal’).
3.
saldo: saldo desta conta – por ex. 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;
}
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;
}
Bloco
Um bloco normalmente contém um cabeçalho de bloco e diversas transações.
Protobuf data structure:
message Block {
BlockHeader block_header = 1;
repeated Transaction transactions = 2;
}
5.1 Cabeçalho do bloco
Um cabeçalho de bloco contém raw_data, witness_signature e 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 Dados Brutos
Os dados brutos são denotados como raw_data no Protobuf. Ele contém os dados brutos de uma mensagem, contendo 6 parâmetros:
1. timestamp: timestamp desta mensagem – por ex. 1543884429000. 2. txTrieRoot: a raiz da árvore Merkle – por exemplo. 7dacsa…3ed. 3. parentHash: o hash do último bloco – por exemplo. 7dacsa…3ed. 4. número: a altura do bloco – por ex. 4638708. 5. versão: reservada – por exemplo. 5.

6. testemunha_address: o endereço da testemunha compactada neste bloco – por exemplo. 41928c...4d21. 5.1.2 Assinatura da Testemunha
A assinatura da testemunha é denotada como witness_signature no Protobuf, que é a assinatura para este cabeçalho do bloco do nó testemunha. 5.1.3 ID do bloco
Block ID é denotado como blockID no Protobuf. Ele contém a identificação atômica de um bloco. Um bloco O ID contém 2 parâmetros: 1. hash: o hash do bloco. 2. número: o hash e a altura do bloco. 5.2 Transação 5.2.1 Assinatura
O processo de assinatura da transação de TRON segue um algoritmo criptográfico ECDSA padrão, com um
Curva de seleção SECP256K1. Uma chave privada é um número aleatório e a chave pública é um ponto na
curva elíptica. O processo de geração de chave pública consiste em primeiro gerar um número aleatório como um
chave privada e, em seguida, multiplicando o ponto base da curva elíptica pela chave privada para obter o
chave pública. Quando ocorre uma transação, os dados brutos da transação são primeiro convertidos em formato de byte.
Os dados brutos são então submetidos a SHA-256 hashing. A chave privada correspondente ao contrato
address então assina o resultado do SHA256 hash. O resultado da assinatura é então adicionado ao
transação.
5.2.2 Modelo de largura de banda
As transações comuns consomem apenas pontos de largura de banda, mas as operações smart contract consomem ambos pontos de energia e largura de banda. Existem dois tipos de pontos de largura de banda disponíveis. Os usuários podem ganhar pontos de largura de banda do congelamento do TRX, enquanto 5.000 pontos de largura de banda gratuitos também estão disponíveis diariamente.
Quando uma transação TRX é transmitida, ela é transmitida e armazenada na forma de uma matriz de bytes sobre a rede. Pontos de largura de banda consumidos por uma transação = número de bytes da transação multiplicado pela taxa de pontos de largura de banda. Por exemplo, se o comprimento da matriz de bytes de uma transação for 200, então a transação consome 200 pontos de largura de banda. No entanto, se uma transferência TRX ou token resultar em a conta de destino sendo criada, apenas os pontos de largura de banda consumidos para criar a conta serão deduzidos e pontos de largura de banda adicionais não serão deduzidos. Na criação de uma conta cenário, a rede consumirá primeiro os pontos de largura de banda que o iniciador da transação ganhoudo congelamento do TRX. Se esse valor for insuficiente, a rede consome a transação TRX do iniciador.
Em cenários padrão de transferência TRX de uma conta TRX para outra, a rede primeiro consome os pontos de largura de banda obtidos pelo iniciador da transação para congelar o TRX. Se isso for insuficiente, então consome dos 5.000 pontos de largura de banda diários gratuitos. Se isso ainda não for suficiente, então a rede consome o TRX do iniciador da transação. O valor é calculado pelo número de bytes em a transação multiplicada por 10 SUN. Assim, para a maioria dos detentores de TRX que podem não necessariamente congelar seu TRX para participar da votação SR, a primeira etapa é automaticamente ignorada (já que o saldo TRX frozen = 0) e a largura de banda gratuita diária de 5.000 alimenta a transação.
Para transferências TRC-10 token, a rede primeiro verifica se o total de pontos de largura de banda livre do ativo token emitido são suficientes. Caso contrário, os pontos de largura de banda obtidos com o congelamento do TRX são consumido. Se ainda não houver pontos de largura de banda suficientes, então consome o TRX da transação iniciador.
5.2.3 Taxa
A rede TRON geralmente não cobra taxas para a maioria das transações, entretanto, devido ao sistema restrições e justiça, uso de largura de banda e transações cobram certas taxas.
As taxas cobradas são divididas nas seguintes categorias: 1. As transações normais custam pontos de largura de banda. Os usuários podem usar os pontos de largura de banda diários gratuitos (5000) ou congele TRX para obter mais. Quando os pontos de largura de banda não forem suficientes, o TRX será usado diretamente da conta remetente. O TRX necessário é o número de bytes * 10 SUN. 2. Os contratos inteligentes custam energia (Seção 6), mas também precisarão de pontos de largura de banda para o transação a ser transmitida e confirmada. O custo da largura de banda é o mesmo acima. 3. Todas as transações de consulta são gratuitas. Não custa energia ou largura de banda.
A rede TRON também define um conjunto de taxas fixas para as seguintes transações: 1. Criando um nó testemunha: 9999 TRX 2. Emitindo um TRC-10 token: 1024 TRX 3. Criando uma nova conta: 0,1 TRX 4. Criando um par de troca: 1024 TRX 5.2.4 Transação como Prova de Participação (TaPoS)
TRON usa TaPoS para garantir que todas as transações confirmem o blockchain principal, ao mesmo tempo que o faz
difícil forjar correntes falsificadas. No TaPoS, as redes exigem que cada transação inclua parte de
o hash de um cabeçalho de bloco recente. Este requisito impede que as transações sejam reproduzidas em
bifurcações não incluindo o bloco referenciado, e também sinaliza à rede que um determinado usuário e seusa aposta está em um fork específico. Este mecanismo de consenso protege a rede contra negação de
Serviço, 51%, mineração egoísta e ataques de gasto duplo.
5.2.5 Confirmação de Transação
Uma transação é incluída em um bloco futuro após ser transmitida para a rede. Após 19 blocos serem minerado em TRON (incluindo seu próprio bloco), a transação é confirmada. Cada bloco é produzido por um dos 27 principais superrepresentantes em um estilo round robin. Cada bloco leva cerca de 3 segundos para ser extraído em blockchain. O tempo pode variar ligeiramente para cada Super Representante devido à rede condições e configurações da máquina. Em geral, uma transação é considerada totalmente confirmada após ~1 minuto. 5.2.6 Estrutura
Transaction APIs consist of the following functions: message Transaction { message Contract { enum ContractType { AccountCreateContract = 0; // Create account/wallet TransferContract = 1; // Transfer TRX TransferAssetContract = 2; // Transfer TRC10 token VoteWitnessContract = 4; // Vote for Super Representative (SR) WitnessCreateContract = 5; // Create a new SR account AssetIssueContract = 6; // Create a new TRC10 token WitnessUpdateContract = 8; // Update SR information ParticipateAssetIssueContract = 9; // Purchase TRC10 token AccountUpdateContract = 10; // Update account/wallet information FreezeBalanceContract = 11; // Freeze TRX for bandwidth or energy UnfreezeBalanceContract = 12; // Unfreeze TRX WithdrawBalanceContract = 13; // Withdraw SR rewards, once per day UnfreezeAssetContract = 14; // Unfreeze TRC10 token UpdateAssetContract = 15; // Update a TRC10 token’s information ProposalCreateContract = 16; // Create a new network proposal by any SR ProposalApproveContract = 17; // SR votes yes for a network proposal ProposalDeleteContract = 18; // Delete a network proposal by owner CreateSmartContract = 30; // Deploy a new smart contract TriggerSmartContract = 31; // Call a function on a smart contract GetContract = 32; // Get an existing smart contract UpdateSettingContract = 33; // Update a smart contract’s parameters ExchangeCreateContract = 41; // Create a token trading pair on DEX ExchangeInjectContract = 42; // Inject funding into a trading pair
ExchangeWithdrawContract = 43; // Withdraw funding from a trading pair ExchangeTransactionContract = 44; // Perform token trading UpdateEnergyLimitContract = 45; // Update origin_energy_limit on a smart contract } } }
Blok
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 } } }
TRON Máquina Virtual
6.1 Introdução
TRON Máquina Virtual (TVM) é uma máquina virtual Turing completa e leve desenvolvida para o Ecossistema de TRON. Seu objetivo é fornecer um sistema blockchain personalizado que seja eficiente, conveniente, estável, seguro e escalável.
TVM inicialmente bifurcado de EVM e pode se conectar perfeitamente com a solidez existente smart contract 11 ecossistema de desenvolvimento. Com base nisso, o TVM também oferece suporte ao consenso DPoS.
A TVM emprega o conceito de Energia. Diferente do mecanismo de gás em EVM, as operações de transações e smart contracts no TVM são gratuitas, sem consumo de TRX. Tecnicamente, executável a capacidade de computação no TVM não é restrita pela quantidade total de tokens. 6.2 Fluxo de trabalho
O compilador primeiro traduz o Solidity smart contract em bytecode legível e executável em a TVM. O TVM então processa os dados através do opcode, o que equivale a operar a lógica de uma máquina de estados finitos baseada em pilha. Finalmente, o TVM acessa dados blockchain e invoca Interface de dados externos através da camada de interoperação. 11 EVM: Ethereum Máquina Virtual (https://github.com/ethereum/ethereumj)

Figura 3: Fluxo de trabalho TVM
6.3 Desempenho 6.3.1 Arquitetura Leve
A TVM adota uma arquitetura leve com o objetivo de reduzir o consumo de recursos para garantir desempenho do sistema. 6.3.2 Robusto
As transferências de TRX e a execução de smart contract custam apenas pontos de largura de banda, em vez de TRX, que isenta TRON de ser atacado. O consumo de largura de banda é previsível e estático, pois cada o custo da etapa computacional é fixo. 6.3.3 Alta Compatibilidade
TVM é compatível com EVM e será compatível com VMs mais convencionais no futuro. Assim, todos os smart contracts em EVM são executáveis no TVM. 6.3.4 Baixo Custo
Devido à configuração da largura de banda do TVM, os custos de desenvolvimento são reduzidos e os desenvolvedores podem se concentrar no desenvolvimento lógico de seu código de contrato. A TVM também oferece interfaces completas para contratos implantação, acionamento e visualização para oferecer conveniência aos desenvolvedores.
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.
Contrato Inteligente
7.1 Introdução
Um smart contract é um protocolo que verifica digitalmente a negociação de contratos. Eles definem as regras e penalidades relacionadas a um acordo e também aplicar automaticamente essas obrigações. O inteligente O código do contrato facilita, verifica e reforça a negociação ou execução de um acordo ou transação. De uma perspectiva de tokenização, smart contracts também facilitam fundos automáticos transferências entre as partes participantes caso determinados critérios sejam atendidos.
TRON smart contracts são escritos na linguagem Solidity. Uma vez escritos e testados, eles podem ser compilado em bytecode e então implantado na rede TRON para a máquina virtual TRON. Uma vez implantados, smart contracts podem ser consultados por meio de seus endereços de contrato. A aplicação do contrato Interface Binária (ABI) mostra as funções de chamada do contrato e é usada para interagir com o rede. 7.2 Modelo Energético
O limite máximo de energia para implantar e acionar um smart contract é uma função de vários variáveis:
● A energia dinâmica do congelamento de 1 TRX é 50.000.000.000 (Limite de Energia Total) / (Energia Total Peso) ● O limite de energia é o limite diário de energia da conta após o congelamento do TRX ● A energia restante da conta diária do congelamento do TRX é calculada como Limite de Energia - Energia Usado ● O limite de taxa no TRX é definido em smart contract implantar/acionar chamada ● TRX utilizável restante na conta ● Energia por TRX se comprada diretamente (10 SUN = 1 Energia) = 100.000, os SRs podem votar ajuste
Existem dois cenários de consumo para calcular o limite máximo de energia para implantação e
gatilho. A lógica pode ser expressa da seguinte forma:
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 Implantação
Quando uma solidez TRON smart contract é compilada, a máquina virtual TRON lê o compilado bytecódigo. O bytecode consiste em uma seção para implantação de código, código de contrato e Auxdata. O Auxdata é a impressão digital criptográfica do código-fonte, usada para verificação. A implantação bytecode executa a função construtora e configura as variáveis de armazenamento iniciais. A implantação code também calcula o código do contrato e o retorna ao TVM. A ABI é um arquivo JSON que descreve as funções de TRON smart contract. Este arquivo define os nomes das funções, sua remuneração, os valores de retorno da função e sua mutabilidade de estado. 7.4 Função de disparo
Depois que os TRON smart contracts forem implantados, suas funções poderão ser acionadas individualmente por meio de TronStudio ou através de chamadas de API. Funções de mudança de estado requerem energia enquanto funções somente leitura executar sem energia. 7.5 TRON Solidez
TRON Solidity é um fork da linguagem Solidity de Ethereum. TRON modifica o projeto original para suporta unidades TRX e SUN (1 TRX = 1.000.000 SUN). O resto da sintaxe da linguagem é compatível com Solidity ^0.4.24. Assim, a Máquina Virtual Tron (TVM) é quase 100% compatível com instruções EVM.
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.
Token
8.1 Token TRC-10
Na rede TRON, cada conta pode emitir tokens às custas de 1024 TRX. Para emitir tokens, o emissor precisa especificar um nome token, a capitalização total, a taxa de câmbio para TRX, duração da circulação, descrição, site, consumo máximo de largura de banda por conta, total consumo de largura de banda e a quantidade de token congelados. Cada emissão token também pode configurar o máximo diário de token pontos de largura de banda de transferência de cada conta, o máximo diário de toda a rede token pontos de largura de banda de transferência, fornecimento total de token, duração do bloqueio em dias e valor total de tokens bloqueados. 8.2 Token TRC-20
TRC-20 é um padrão técnico usado para smart contracts implementando tokens suportado pelo TRON Máquina Virtual. É totalmente compatível com ERC-20.
A interface é a seguinte:
contrato TRC20Interface {
função totalSupply() retornos constantes públicos (uint);
função balanceOf(endereço tokenOwner) public constantes retornos (uint
equilíbrio);
função subsídio(endereço tokenProprietário, endereço gastador) public constante
retorna (uint restante);
transferência de função (endereço para, uint tokens) retornos públicos (bool sucesso);
função aprovar (endereço gastador, uint tokens) retornos públicos (bool
sucesso);
função transferFrom(endereço de, endereço para, uint tokens) public
retorna (bool sucesso);
event Transfer(endereço indexado de, endereço indexado para, uint tokens);
Aprovação do evento (endereço indexado tokenProprietário, endereço gastador indexado, uint
tokens); }
Do ponto de vista do desenvolvedor, existem várias diferenças entre o TRC-10 e o TRC-20. Alguns das principais diferenças é que TRC-10 tokens são acessíveis por APIs e smart contracts enquanto TRC-20 tokens permitem a personalização da interface, mas só são acessíveis dentro de smart contracts.
Do ponto de vista de custo, os TRC-10 tokens têm taxas de transação 1.000 vezes mais baixas do que
TRC-20, mas acarreta custos de largura de banda para transferências e depósitos de API. Transferências e depósitos em smart
os contratos para TRC-10 tokens custam largura de banda e energia.
8.3 Além
Como TRON usa a mesma versão do Solidity que Ethereum, mais padrões token poderiam ser prontamente portado para TRON.
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ı.
Governança
9.1 Superrepresentante 9.1.1 Geral
Todas as contas da rede TRON podem se inscrever e ter a oportunidade de se tornar um Super Representante (denotado como SR). Todos podem votar em candidatos SR. Os 27 principais candidatos com os mais votados se tornarão SRs com direito e obrigação de gerar blocos. Os votos são contado a cada 6 horas e os SRs mudarão de acordo.
Para evitar ataques maliciosos, há um custo para se tornar um candidato à RS. Ao se inscrever, 9999 O TRX será eliminado da conta do requerente. Uma vez bem-sucedida, essa conta pode ingressar no SR eleição. 9.1.2 Eleição
TRON O poder (denotado como TP) é necessário para votar e a quantidade de TP depende do eleitor ativos congelados (TRX).
O TP é calculado da seguinte forma:
PT
1 TRX congelado para obter largura de banda
1
=
Cada conta na rede TRON tem o direito de votar em seus próprios SRs.
Após o lançamento (descongelamento, disponível após 3 dias), os usuários não terão nenhum ativo congelado e perderão todos TP em conformidade. Como resultado, todos os votos tornam-se inválidos para a ronda de votação em curso e futura, a menos que TRX está congelado novamente para votar.
Observe que a rede TRON registra apenas o voto mais recente, o que significa que cada novo voto anulará todos os votos anteriores. 9.1.3 Recompensa uma. Recompensa de voto
Também conhecido como Recompensa do Candidato, que os 127 melhores candidatos atualizam uma vez a cada rodada (6
horas) compartilhará 115.200 TRX extraídos. A recompensa será dividida de acordo com o peso dos votos
cada candidato recebe. A cada ano, a recompensa total para os candidatos será de 168.192.000 TRX.
Recompensa total de votos por rodada
Por que 115.200 TRX a cada rodada?
15,00 TRX
recompensa total de votos por rodada (V R/rodada)
1
2
=
V R/rodada = 16 T RX/bloco × 20 blocos/min × 60 minutos/h × 6 horas/rodada
Aviso: isso é definido por WITNESS_STANDBY_ALLOWANCE = 115.200 TRX. Consulte parâmetros de rede dinâmica.
Recompensa total de votos por ano
Por que 168.192.000 TRX todos os anos?
168.192.000 T RX = recompensa total de votos por ano (V R/ano)
V R/ano = 115.200 T RX/rodada × 4 rodadas/dia × 365 dias/ano
b. Recompensa de bloco
Também conhecida como Recompensa do Super Representante, que os 27 principais candidatos (SRs) eleitos
cada rodada (6 horas) compartilhará cerca de 230.400 TRX extraídos. A recompensa será dividida igualmente
entre os 27 SRs (menos o total de blocos de recompensa perdidos devido a erro de rede). Um total de
336.384.000 TRX serão concedidos anualmente aos 27 SRs.
Recompensa total do bloco por rodada
Por que 230.400 TRX a cada rodada?
230, 400 T RX = recompensa total do bloco por rodada (BR/rodada)
BR/rodada = 32 T RX/bloco × 20 blocos/min × 60 minutos/h × 6 horas/rodada
Aviso: a recompensa do bloco unitário é definida por WITNESS_PAY_PER_BLOCK = 32 TRX. Veja rede dinâmica
parâmetros.
Recompensa total do bloco por ano
Por que 336.384.000 TRX todos os anos?
336.384.000 T RX = recompensa total do bloco por ano (BR/ano)
BR/ano = 230.400 T RX/rodada × 4 rodadas/dia × 365 dias/ano
1º de janeiro de 2021
Não haverá inflação na rede TRON antes de 1º de janeiro de 2021, e TRON DAO
conceder todas as recompensas em bloco e recompensas de candidatos antes dessa data.
c. Cálculo de recompensa
Cálculo de recompensa SR
recompensa total
recompensa de voto (V R)
recompensa de bloco (BR)
t
=
+
R
VR total
V
=
×
total de votos
votos que o candidato SR recebeu
R
bloco perdido
2
B
=
27
BR total -
× 3
Nota: a recompensa é calculada por SR por rodada (6 horas)
Cálculo de recompensa de candidato de classificação 28 a 127 SR recompensa total recompensa de voto (V R) t =
R
VR total
V
=
×
total de votos
votos que o candidato SR recebeu
Nota: a recompensa é calculada por candidato SR por rodada (6 horas)
9.2 Comitê
9.2.1 Geral
O comitê é usado para modificar parâmetros de rede dinâmicos TRON, como geração de blocos
recompensas, taxas de transação, etc. O comitê é composto pelos 27 SRs da rodada atual. Cada RS
tem o direito de propor e votar propostas. Quando uma proposta recebe 19 votos ou mais, é
aprovado e os novos parâmetros de rede serão aplicados no próximo período de manutenção (3 dias).
9.2.2 Parâmetros de Rede Dinâmicos
0.
MAINTENANCE_TIME_INTERVAL
uma.
Descrição
Modifique o tempo do intervalo de manutenção em ms. Conhecido como tempo de intervalo de votação SR por
redondo.
b.
Exemplo
[6 * 3600 * 1000] ms - que é 6 horas.
c.
Alcance
[3271000, 2436001000]ms
1.
ACCOUNT_UPGRADE_COST
uma.
Descrição
Modifique o custo de inscrição para uma conta SR.
b.
Exemplo
[9.999.000.000] SUN – que é 9.999 TRX.
c.
Alcance
[0,100 000 000 000 000 000] SOL
2.
CREATE_ACCOUNT_FEE
uma.
Descrição
Modifique a taxa de criação de conta.b.
Exemplo
[100.000] SOL - que é 1 TRX.
c.
Alcance
[0,100 000 000 000 000 000] SOL
3.
TRANSACTION_FEE
uma.
Descrição
Modifique o valor da taxa usada para obter largura de banda extra.
b.
Exemplo
[10] SOL/byte.
c.
Alcance
[0,100 000 000 000 000 000] SOL/byte
4.
ASSET_ISSUE_FEE
uma.
Descrição
Modifique a taxa de emissão de ativos.
b.
Exemplo
[1024.000.000] SOL - que é 1024 TRX.
c.
Alcance
[0,100 000 000 000 000 000] SOL
5.
WITNESS_PAY_PER_BLOCK
uma.
Descrição
Modifique a recompensa de geração de bloco SR. Conhecida como recompensa de bloco unitário.
b.
Exemplo
[32.000.000] SUN - que é 32 TRX.
c.
Alcance
[0,100 000 000 000 000 000] SOL
6.
WITNESS_STANDBY_ALLOWANCE
uma.
Descrição
Modifique as recompensas dadas aos 127 principais candidatos SR. Conhecida como recompensa total de votos
por rodada.
b.
Exemplo
[115.200.000.000] SUN – que é 115.200 TRX.
c.
Alcance
[0,100 000 000 000 000 000] SOL
7.
CREATE_NEW_ACCOUNT_FEE_IN_SYSTEM_CONTRACT
uma.
Descrição
Modifique o custo de criação de conta. Combine os parâmetros de rede dinâmica nº 8 para obter
custo total de criação de conta:
REATE_NEW_ACCOUNT_FEE_IN_SY STEM_CONTRACT
REATE_NEW_ACCOUNT_BANDWIDTH_RATE
C
×C
b. Exemplo [0] SOL. c. Alcance [0,100 000 000 000 000 000] SOL 8. CREATE_NEW_ACCOUNT_BANDWIDTH_RATE
uma.
Descrição
Modifique o custo de criação de conta. Combine os parâmetros de rede dinâmica nº 7 para obter
custo total de criação de conta:
REATE_NEW_ACCOUNT_FEE_IN_SY STEM_CONTRACT
REATE_NEW_ACCOUNT_BANDWIDTH_RATE
C
×C
b. Exemplo [1]. c. Alcance [0.100.000.000.000.000.000] 9. ALLOW_CREATION_OF_CONTRACTS uma. Descrição Para ativar a Máquina Virtual Tron (TVM). b. Exemplo Verdadeiro - definido para ativação e efeito desde 10/10/2018 23:47 UTC. c. Alcance Verdadeiro/Falso 10. REMOVE_THE_POWER_OF_THE_GR uma. Descrição Remova os votos iniciais do GR genesis b. Exemplo Verdadeiro - efetuado em 04/11/2018 08:46 UTC. c. Alcance Verdadeiro/Falso - Aviso: não é possível retornar de Verdadeiro para Falso. 11. ENERGY_FEE uma. Descrição Modifique a taxa de 1 energia. b. Exemplo 20 SOL. c. Alcance [0,100 000 000 000 000 000] SOL 12. EXCHANGE_CREATE_FEE uma. Descrição Modifique o custo de criação de pares de negociação. Conhecido como o custo de criação de uma ordem comercial. b. Exemplo [1.024.000.000] SOL - que é 1024 TRX. c. Alcance [0,100 000 000 000 000 000] SOL 13. MAX_CPU_TIME_OF_ONE_TX uma. Descrição Modifique o tempo máximo de execução de uma transação. Conhecido como limite de tempo limite de uma transação. b. Exemplo 50 ms. c. Alcance
[0, 1000] ms
14. ALLOW_UPDATE_ACCOUNT_NAME
uma.
Descrição
Modifique a opção para permitir que uma conta atualize seu nome de conta.
b.
Exemplo
Falso - que está disponível para proposta no java-tron Odyssey v3.2.
c.
Alcance
Verdadeiro/Falso - Aviso: não é possível retornar de Verdadeiro para Falso.
15.ALLOW_SAME_TOKEN_NAME
uma.
Descrição
Modifique a validação para permitir que diferentes token tenham um nome duplicado.
b.
Exemplo
Falso - que está disponível para proposta no java-tron Odyssey v3.2.
c.
Alcance
Verdadeiro/Falso - Aviso: não é possível retornar de Verdadeiro para Falso.
16. ALLOW_DELEGATE_RESOURCE
uma.
Descrição
Modifique a validação para permitir a emissão de token com nome duplicado, para que o
tokenID do token, no tipo de dados inteiro longo, seria o único atômico
identificação de um token.
b.
Exemplo
Falso - que está disponível para proposta no java-tron Odyssey v3.2.
c.
Alcance
Verdadeiro/Falso - Aviso: não é possível retornar de Verdadeiro para Falso.
17. TOTAL_ENERGY_LIMIT
uma.
Descrição
Modifique todo o limite de energia total da rede.
b.
Exemplo
[50.000.000.000.000.000] SOL - que é 50.000.000.000 TRX.
c.
Alcance
[0.100.000.000.000.000.000] SOL
18. ALLOW_TVM_TRANSFER_TRC10
uma.
Descrição
Permitir transferência TRC-10 token dentro de smart contracts.
ALLOW_UPDATE_ACCOUNT_NAME, ALLOW_SAME_TOKEN_NAME,
Todas as propostas ALLOW_DELEGATE_RESOURCE devem ser aprovadas antes de serem propostas
esta mudança de parâmetro.
b.
Exemplo
Falso - que está disponível para proposta no java-tron Odyssey v3.2.
c.
Alcance
Verdadeiro/Falso - Aviso: não é possível retornar de Verdadeiro para Falso.9.2.3 Criar Proposta
Somente as contas SR têm o direito de propor uma alteração nos parâmetros dinâmicos da rede. 9.2.4 Proposta de Votação
Somente os membros do comitê (SRs) podem votar em uma proposta e o membro que não votar a tempo será considerado como discordo. A proposta fica ativa por 3 dias após ser criada. A votação pode ser alterado ou recuperado durante o período de votação de 3 dias. Terminado o período, a proposta será sucesso (mais de 19 votos) ou fracasso (e fim). 9.2.5 Cancelar Proposta
O proponente pode cancelar a proposta antes que ela entre em vigor. 9.3 Estrutura
SRs são as testemunhas dos blocos recém-gerados. Uma testemunha contém 8 parâmetros:
1.
endereço: o endereço desta testemunha – por ex. 0xu82h…7237.
2.
voteCount: número de votos recebidos nesta testemunha – por ex. 234234.
3.
pubKey: a chave pública desta testemunha – por exemplo. 0xu82h…7237.
4.
url: o URL desta testemunha – por ex. https://www.noonetrust.com.
5.
totalProduzido: o número de blocos que esta testemunha produziu – por exemplo. 2434.
6.
totalMissed: o número de blocos que esta testemunha perdeu – por exemplo. 7.
7.
lastBlockNum: a última altura do bloco – por exemplo. 4522.
8.
isjobs: um sinalizador booleano.
Estrutura de dados do protobuf:
mensagem Testemunha{
endereço de bytes = 1;
int64 contagem de votos = 2;
bytes pubKey = 3;
string url=4;
int64 totalProduzido = 5;
int64 totalPerdidos = 6;
int64 últimoBlockNum = 7;
bool isJobs = 8;
}
- Desenvolvimento de DApps 10.1 APIs
A rede TRON oferece uma ampla seleção de mais de 60 gateways de API HTTP para interagir com o rede via Full e Solidity Nodes. Além disso, TronWeb é uma biblioteca JavaScript abrangente contendo funções de API que permitem aos desenvolvedores implantar smart contracts, altere o blockchain estado, consulta blockchain e informações de contrato, negociação no DEX e muito mais. Estas APIs os gateways podem ser direcionados para uma rede privada local, a rede de teste Shasta ou a rede principal TRON.
10.2 Redes
TRON possui uma rede de teste Shasta e também uma rede principal. Os desenvolvedores podem se conectar às redes por
implantando nós, interagindo via TronStudio ou usando APIs por meio do serviço TronGrid. O TronGrid
O serviço consiste em clusters de nós com balanceamento de carga hospedados em servidores AWS em todo o mundo. Como DApp
o desenvolvimento aumenta e os volumes de chamadas de API aumentam, o TronGrid responde com sucesso ao aumento em
Tráfego de API.
10.3 Ferramentas
TRON oferece um conjunto de ferramentas de desenvolvimento para permitir que os desenvolvedores criem DApps inovadores.
TronBox é uma estrutura que permite aos desenvolvedores testar e implantar smart contracts através do TronWeb
API. TronGrid é um serviço de API hospedado e com balanceamento de carga que permite aos desenvolvedores acessar o
TRON rede sem precisar executar seu próprio nó. TronGrid oferece acesso tanto ao Shasta
testnet, bem como a rede principal TRON. TronStudio é um desenvolvimento integrado abrangente
Ambiente (IDE) que permite aos desenvolvedores compilar, implantar e depurar seu Solidity smart
contratos. TronStudio contém um nó completo interno que cria um ambiente local privado para
smart contract testes antes da implantação. A biblioteca API TronWeb conecta desenvolvedores ao
rede por meio de uma ampla seleção de chamadas de API HTTP agrupadas em JavaScript.
10.4 Recursos
O TRON Developer Hub é um site abrangente de documentação de API adaptado para 12 desenvolvedores que desejam desenvolver na rede TRON. O Developer Hub fornece um alto nível compreensão conceitual de TRON e orienta os usuários nos detalhes da interação com o 12 Centro do desenvolvedor: https://developers.tron.network/
rede. Os guias orientam os desenvolvedores na configuração, implantação e interação do nó com aplicativos inteligentes
contratos, interação e implementação de API, construção de DApps de amostra e uso de cada um dos
ferramentas para desenvolvedores. Além disso, os canais da comunidade de desenvolvedores estão disponíveis através do Discord.
13
13Discordância: https://discordapp.com/invite/GsRgsTD
- Conclusão
TRON é uma solução blockchain escalável que empregou métodos inovadores para lidar com desafios enfrentados pelas redes blockchain legadas. Tendo alcançado mais de 2 milhões de transações por dia, com mais de 700 mil contas TRX e ultrapassando 2.000 TPS, TRON permitiu à comunidade em criando uma rede descentralizada e democratizada.
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.