ورقة عمل ترون

Por Justin Sun · 2017

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.

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

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

TRON development roadmap phase 2 timeline from July 2018 to 2019

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

مقدمة

1.1 الرؤية

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

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

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

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

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

1.4 المصطلحات

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

TRON development roadmap phase 2 timeline from July 2018 to 2019

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

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

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

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

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

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

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

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

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

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

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.

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

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/

بنيان

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

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

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

2.1 الأساسية

هناك عدة وحدات في الطبقة الأساسية، بما في ذلك smart contracts، وإدارة الحساب، و الإجماع. يتم تنفيذ الجهاز الظاهري القائم على المكدس على TRON وتعليمات محسنة يتم استخدام مجموعة. من أجل تقديم دعم أفضل لمطوري التطبيقات اللامركزية، تم اختيار Solidity لتكون smart contract 4 اللغة، يليها الدعم المستقبلي للغات المتقدمة الأخرى. بالإضافة إلى ذلك، إجماع TRON تعتمد الآلية على إثبات الحصة المفوضة (DPoS) وتم إجراء العديد من الابتكارات في من أجل تلبية متطلباتها الفريدة. 2.2 التخزين

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

TRON blockchain يختار التخزين استخدام LevelDB، الذي طورته Google وأثبت فعاليته ناجحة مع العديد من الشركات والمشاريع. يتميز بأداء عالٍ ويدعم البايت التعسفي المصفوفات كمفاتيح وقيم، الحصول على المفرد، ووضعها وحذفها، ووضعها وحذفها على دفعات، وثنائية الاتجاه التكرارات والضغط البسيط باستخدام خوارزمية Snappy السريعة جدًا. 2.2.2 تخزين الحالة

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

يمكن للمطورين إنشاء مجموعة متنوعة من التطبيقات اللامركزية والمحافظ المخصصة على TRON. منذ TRON تمكن من نشر وتنفيذ smart contracts، وفرص تطبيقات المرافق هي غير محدود. 4 وثائق الصلابة الرسمية: https://solidity.readthedocs.io/

2.4 البروتوكول

يلتزم بروتوكول TRON بمخازن بروتوكول Google المؤقتة، وهي محايدة للغة، ومحايدة للنظام الأساسي، 5 وطريقة موسعة لتسلسل البيانات المنظمة لاستخدامها في بروتوكولات الاتصالات، وتخزين البيانات، وأكثر. 2.4.1 مخازن البروتوكول المؤقتة

تعد مخازن البروتوكول المؤقتة (Protobuf) آلية مرنة وفعالة ومؤتمتة لإجراء تسلسل منظم البيانات، تشبه JSON أو XML، ولكنها أصغر بكثير وأسرع وأبسط.

يمكن استخدام تعريفات Protobuf (.proto) لإنشاء تعليمات برمجية لـ C++، وJava، وC#، وPython، وRuby، لغات Golang وObjective-C من خلال مولدات الأكواد الرسمية. مختلف طرف ثالث التطبيقات متاحة أيضًا للعديد من اللغات الأخرى. Protobuf يسهل تطوير العملاء من خلال توحيد تعريفات API وتحسين عمليات نقل البيانات أيضًا. يمكن للعملاء الحصول على API .proto من مستودع بروتوكول TRON ودمجه من خلال الكود الذي تم إنشاؤه تلقائيًا المكتبات.

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

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

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

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

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

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

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 ​x​1 ​≠ x​2​ ​tais que ​h(x​1​) =h(x​2​)​. 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 ​x​1​, e portanto h(x​1​)​, é computacionalmente inviável encontre qualquer x2 tal que h(x​1​) = h(x​2​)​. 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 ​x​2​ 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.

إجماع

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

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

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

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

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

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

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

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

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

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

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

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

حساب

4.1 الأنواع

الأنواع الثلاثة للحسابات في شبكة TRON هي الحسابات العادية، وحسابات token، و حسابات العقود.

1. يتم استخدام الحسابات العادية للمعاملات القياسية.
2. تُستخدم حسابات الرمز المميز لتخزين TRC-10 tokens.
3. حسابات العقود هي smart contract حسابات تم إنشاؤها بواسطة حسابات عادية ويمكن أن تكون الناجمة عن الحسابات العادية كذلك. 4.2 الخلق

هناك ثلاث طرق لإنشاء حساب TRON:

1. إنشاء حساب جديد من خلال API 2. قم بنقل TRX إلى عنوان حساب جديد 3. قم بنقل أي TRC-10 token إلى عنوان حساب جديد

زوج مفاتيح غير متصل بالإنترنت يتكون من عنوان (مفتاح عام) ومفتاح خاص، ولا يتم تسجيله بواسطة يمكن أيضًا إنشاء شبكة TRON. تتكون خوارزمية إنشاء عنوان المستخدم من إنشاء زوج مفاتيح ثم استخراج المفتاح العام (صفيف بايت 64 بايت يمثل x، y الإحداثيات). قم بتجزئة المفتاح العام باستخدام وظيفة SHA3-256 (بروتوكول SHA3 المعتمد هو KECCAK-256) واستخرج آخر 20 بايت من النتيجة. أضف 41 إلى بداية صفيف البايت وتأكد من أن طول العنوان الأولي هو 21 بايت. قم بتجزئة العنوان مرتين باستخدام وظيفة SHA3-256 وأخذ أول 4 بايت كرمز التحقق. أضف رمز التحقق إلى نهاية الأولي العنوان واحصل على العنوان بتنسيق base58check من خلال تشفير base58. مشفرة يبدأ عنوان الشبكة الرئيسية بحرف T ويبلغ طوله 34 بايت. 4.3 الهيكل

أنواع الحسابات الثلاثة المختلفة هي عادي، وإصدار الأصول، والعقد. حساب يحتوي على 7 المعلمات:

1. account_name​: اسم هذا الحساب – على سبيل المثال. حساب الفواتير.
2. النوع​: ما هو نوع هذا الحساب – على سبيل المثال. 0 (يرمز إلى النوع "عادي").
3. الرصيد​: رصيد هذا الحساب – مثلاً. 4213312.

4. التصويت​: الأصوات المستلمة على هذا الحساب - على سبيل المثال. {("0x1b7w...9xj3"،323)، ("0x8djq…j12m"،88)،...،("0x82nd...mx6i"،10001)".
5. الأصول​: الأصول الأخرى المتوقعة TRX في هذا الحساب - على سبيل المثال. {<"WishToken"، 66666>، <"Dogie"، 233>}. 6. last_operation_time​: آخر وقت تشغيل لهذا الحساب.

Protobuf data structure: message​ ​Account​ {
​message​ ​Vote​ {

​bytes​ vote_address = ​1​;

​int64​ vote_count = ​2​;

} ​bytes​ accout_name = ​1​;
AccountType type = ​2​;
​bytes​ address = ​3​;
​int64​ balance = ​4​;
​repeated​ Vote votes = ​5​;
map<​string​, ​int64​> asset = ​6​; ​int64​ latest_operation_time = ​10​; }

enum​ ​AccountType​ {
Normal = ​0​;
AssetIssue = ​1​;
Contract = ​2​; }

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.

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

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

كتلة

تحتوي الكتلة عادةً على رأس كتلة والعديد من المعاملات.

Protobuf data structure: message​ ​Block​ {
BlockHeader block_header = ​1​; ​repeated​ Transaction transactions = ​2​; } 5.1 رأس الكتلة

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

Protobuf data structure: message​ ​BlockHeader​ {
​message​ ​raw​ {

​int64​ timestamp = ​1​;

​bytes​ txTrieRoot = ​2​; 
​bytes​ parentHash = ​3​;

​uint64​ number = ​4​;  
​uint64​ version = ​5​;

​bytes​ witness_address = ​6​;

} ​bytes​ witness_signature = ​2​; ​bytes​ blockID = ​3​;
} 5.1.1 البيانات الأولية

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

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

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

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

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

يُشار إلى معرف الكتلة على أنه ​blockID​ في Protobuf. أنه يحتوي على التحديد الذري للكتلة. كتلة يحتوي المعرف على معلمتين: 1. hash​: hash للكتلة. 2. الرقم: hash وارتفاع الكتلة. 5.2 المعاملة 5.2.1 التوقيع

تتبع عملية توقيع معاملة TRON خوارزمية تشفير ECDSA القياسية، مع منحنى الاختيار SECP256K1. المفتاح الخاص هو رقم عشوائي، والمفتاح العام هو نقطة على الرقم منحنى إهليلجي. تتكون عملية إنشاء المفتاح العام أولاً من إنشاء رقم عشوائي كـ المفتاح الخاص، ثم ضرب النقطة الأساسية للمنحنى الإهليلجي بالمفتاح الخاص للحصول على المفتاح الخاص المفتاح العام. عند حدوث معاملة، يتم أولاً تحويل البيانات الأولية للمعاملة إلى تنسيق بايت. تخضع البيانات الأولية بعد ذلك إلى SHA-256 hashing. المفتاح الخاص المطابق للعقد العنوان ثم يوقع نتيجة SHA256 hash. ثم تتم إضافة نتيجة التوقيع إلى معاملة.
5.2.2 نموذج النطاق الترددي

تستهلك المعاملات العادية نقاط النطاق الترددي فقط، لكن عمليات smart contract تستهلك كليهما نقاط الطاقة وعرض النطاق الترددي. هناك نوعان من نقاط النطاق الترددي المتاحة. يمكن للمستخدمين الحصول على نقاط النطاق الترددي من تجميد TRX، في حين تتوفر أيضًا 5000 نقطة نطاق ترددي مجانية يوميًا.

عندما يتم بث معاملة TRX، يتم إرسالها وتخزينها في شكل مصفوفة بايت الشبكة. نقاط النطاق الترددي التي تستهلكها معاملة واحدة = عدد بايتات المعاملة مضروبًا في معدل نقاط النطاق الترددي. على سبيل المثال، إذا كان طول صفيف البايت للمعاملة هو 200، ثم تستهلك المعاملة 200 نقطة عرض النطاق الترددي. ومع ذلك، إذا نتج عن نقل TRX أو token الحساب المستهدف الذي يتم إنشاؤه، ثم يتم استهلاك نقاط النطاق الترددي فقط لإنشاء الحساب سيتم خصمها، ولن يتم خصم نقاط النطاق الترددي الإضافية. في إنشاء حساب السيناريو، ستستهلك الشبكة أولاً نقاط النطاق الترددي التي اكتسبها بادئ المعاملةمن تجميد TRX. إذا كان هذا المبلغ غير كاف، فستستهلك الشبكة المعاملة البادئ TRX.

في سيناريوهات نقل TRX القياسية من حساب TRX إلى آخر، تستهلك الشبكة أولاً نقاط النطاق الترددي التي اكتسبها بادئ المعاملة لتجميد TRX. إذا كان ذلك غير كاف، ثم يستهلك من 5000 نقطة عرض النطاق الترددي اليومية المجانية. إذا كان هذا لا يزال غير كاف، ثم الشبكة يستهلك TRX الخاص ببادئ المعاملة. يتم حساب المبلغ حسب عدد البايتات الموجودة فيه المعاملة مضروبة في 10 SUN. وبالتالي، بالنسبة لمعظم حاملي TRX الذين قد لا يتجمدون بالضرورة TRX الخاص بهم للمشاركة في تصويت SR، يتم تخطي الخطوة الأولى تلقائيًا (نظرًا لأن رصيد TRX مجمد = 0) ويعمل النطاق الترددي المجاني البالغ 5000 يوميًا على تشغيل المعاملة.

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

5.2.3 الرسوم

TRON لا تفرض شبكة TRON عمومًا رسومًا على معظم المعاملات، وذلك بسبب النظام تتطلب القيود والعدالة واستخدام النطاق الترددي والمعاملات رسومًا معينة.

تنقسم رسوم الرسوم إلى الفئات التالية: 1. المعاملات العادية تكلف نقاط النطاق الترددي. يمكن للمستخدمين استخدام نقاط النطاق الترددي اليومية المجانية (5000) أو قم بتجميد TRX للحصول على المزيد. عندما لا تكون نقاط النطاق الترددي كافية، سيكون TRX كذلك تستخدم مباشرة من حساب الإرسال. TRX المطلوب هو عدد البايتات * 10 SUN. 2. العقود الذكية تكلف الطاقة (القسم 6)، ولكنها ستحتاج أيضًا إلى نقاط النطاق الترددي لـ سيتم بث الصفقة وتأكيدها. تكلفة عرض النطاق الترددي هي نفسها المذكورة أعلاه. 3. جميع معاملات الاستعلام مجانية. لا يكلف طاقة أو عرض النطاق الترددي.

كما تحدد شبكة TRON مجموعة من الرسوم الثابتة للمعاملات التالية: 1. إنشاء عقدة شاهد: 9999 TRX 2. إصدار TRC-10 token: 1024 TRX 3. إنشاء حساب جديد: 0.1 TRX 4. إنشاء زوج تبادل: 1024 TRX 5.2.4 المعاملة كدليل على الحصة (TaPoS)

TRON يستخدم TaPoS للتأكد من أن جميع المعاملات تؤكد blockchain الرئيسي أثناء إجرائها من الصعب تزوير سلاسل مزيفة. في TaPoS، تتطلب الشبكات أن تتضمن كل معاملة جزءًا منها hash لرأس الكتلة الأخير. يمنع هذا المتطلب إعادة تشغيل المعاملات الشوكات لا تتضمن الكتلة المشار إليها، كما تشير أيضًا إلى الشبكة التي يستخدمها مستخدم معين والحصة على شوكة محددة. آلية الإجماع هذه تحمي الشبكة من الحرمان الخدمة، 51%، التعدين الأناني، وهجمات الإنفاق المزدوج.
5.2.5 تأكيد المعاملة

يتم تضمين المعاملة في كتلة مستقبلية بعد بثها على الشبكة. بعد 19 كتل تم تعدينها على TRON (بما في ذلك الكتلة الخاصة بها)، تم تأكيد المعاملة. يتم إنتاج كل كتلة بواسطة أحد أفضل 27 ممثلًا متميزًا بطريقة روبن المستديرة. تستغرق كل كتلة حوالي 3 ثوانٍ يتم التعدين على blockchain. قد يختلف الوقت قليلاً لكل ممثل متميز بسبب الشبكة الظروف وتكوينات الجهاز. بشكل عام، تعتبر المعاملة مؤكدة بالكامل بعد ذلك ~1 دقيقة. 5.2.6 الهيكل

Transaction APIs consist of the following functions: message​ ​Transaction​ { ​message​ ​Contract​ { ​enum​ ​ContractType​ { AccountCreateContract = ​0​; // Create account/wallet TransferContract = ​1​; // Transfer TRX TransferAssetContract = ​2​; // Transfer TRC10 token VoteWitnessContract = ​4​; // Vote for Super Representative (SR) WitnessCreateContract = ​5​; // Create a new SR account AssetIssueContract = ​6​; // Create a new TRC10 token WitnessUpdateContract = ​8​; // Update SR information ParticipateAssetIssueContract = ​9​; // Purchase TRC10 token AccountUpdateContract = ​10​; // Update account/wallet information FreezeBalanceContract = ​11​; // Freeze TRX for bandwidth or energy UnfreezeBalanceContract = ​12​; // Unfreeze TRX WithdrawBalanceContract = ​13​; // Withdraw SR rewards, once per day UnfreezeAssetContract = ​14​; // Unfreeze TRC10 token UpdateAssetContract = ​15​; // Update a TRC10 token’s information ProposalCreateContract = ​16​; // Create a new network proposal by any SR ProposalApproveContract = ​17​; // SR votes yes for a network proposal ProposalDeleteContract = ​18​; // Delete a network proposal by owner CreateSmartContract = ​30​; // Deploy a new smart contract TriggerSmartContract = ​31​; // Call a function on a smart contract GetContract = ​32​; // Get an existing smart contract UpdateSettingContract = ​33​; // Update a smart contract’s parameters ExchangeCreateContract = ​41​; // Create a token trading pair on DEX ExchangeInjectContract = ​42​; // Inject funding into a trading pair

ExchangeWithdrawContract = ​43​; // Withdraw funding from a trading pair ExchangeTransactionContract = ​44​; // Perform token trading UpdateEnergyLimitContract = ​45​; // Update origin_energy_limit on a smart contract } } }

TRON 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)

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

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 آلة افتراضية

6.1 مقدمة

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

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

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

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

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

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

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

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

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

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

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

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.

العقد الذكي

7.1 مقدمة

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

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

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

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

هناك سيناريوهان للاستهلاك لحساب الحد الأقصى للطاقة للنشر و الزناد. يمكن التعبير عن المنطق على النحو التالي:
const​ R = Dynamic Energy Limit const​ F = Daily account energy ​from​ freezing TRX const​ E = Remaining daily account energy ​from​ freezing TRX const​ L = Fee limit ​in​ TRX set ​in​ deploy/trigger call const​ T = Remaining usable TRX ​in​ account

const​ C = Energy per TRX ​if​ purchased directly

// Calculate M, defined as maximum energy limit for deployment/trigger of smart contract if​ F > LR let​ M = min(E+TC, LR) else let​ M = E+TC 7.3 النشر

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

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

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

Token

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.

رمز مميز

8.1 رمز TRC-10

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

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

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

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

tokens)؛ }

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

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

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

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

  1. 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

  1. 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.

الحكم

9.1 الممثل الفائق 9.1.1 عام

يمكن لكل حساب في شبكة TRON التقدم بطلب للحصول على فرصة أن يصبح عضوًا متميزًا ممثل (يشار إليه بـ SR). يمكن للجميع التصويت لمرشحي SR. أفضل 27 مرشحا مع سيصبح أكبر عدد من الأصوات ممثلين SR مع الحق والالتزام بإنشاء الكتل. الأصوات هي يتم حسابها كل 6 ساعات وسوف تتغير SR وفقًا لذلك.

لمنع الهجمات الضارة، هناك تكلفة لتصبح مرشحًا لـ SR. عند التقديم 9999 سيتم حرق TRX من حساب مقدم الطلب. بمجرد النجاح، يمكن لهذا الحساب الانضمام إلى SR الانتخابات. 9.1.2 الانتخابات

TRON القوة (المشار إليها بـ TP) مطلوبة للتصويت ويعتمد مقدار TP على صوت الناخب الأصول المجمدة (TRX).

يتم حساب TP بالطريقة التالية:
TP تم تجميد 1 TRX للحصول على النطاق الترددي 1 =

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

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

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

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

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

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

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

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

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

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

ب. مثال [0] الشمس. ج. النطاق [0,100 000 000 000 000 000] الأحد 8. CREATE_NEW_ACCOUNT_BANDWIDTH_RATE

أ. الوصف تعديل تكلفة إنشاء الحساب. قم بدمج معلمات الشبكة الديناميكية رقم 7 للحصول عليها إجمالي تكلفة إنشاء الحساب:
REATE_NEW_ACCOUNT_FEE_IN_SY STEM_CONTRACT REATE_NEW_ACCOUNT_BANDWIDTH_RATE
ج × ج

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

[0، 1000] مللي ثانية 14. ALLOW_UPDATE_ACCOUNT_NAME أ. الوصف قم بتعديل الخيار للسماح للحساب بتحديث اسم حسابه.
ب. مثال خطأ - وهو متاح للاقتراح من java-tron Odyssey v3.2. ج. النطاق صحيح/خطأ - ملاحظة: لا يمكن الرجوع إلى خطأ من صحيح. 15. ALLOW_SAME_TOKEN_NAME أ. الوصف قم بتعديل التحقق من السماح لـ token المختلفة بأن يكون لها اسم مكرر.
ب. مثال خطأ - وهو متاح للاقتراح من java-tron Odyssey v3.2. ج. النطاق صحيح/خطأ - ملاحظة: لا يمكن الرجوع إلى خطأ من صحيح. 16. ALLOW_DELEGATE_RESOURCE أ. الوصف قم بتعديل التحقق من السماح بإصدار token باسم مكرر، وبالتالي فإن tokenID​ لـ token، في نوع بيانات عدد صحيح طويل، سيكون العنصر الذري الوحيد تحديد token.
ب. مثال خطأ - وهو متاح للاقتراح من java-tron Odyssey v3.2. ج. النطاق صحيح/خطأ - ملاحظة: لا يمكن الرجوع إلى خطأ من صحيح. 17. TOTAL_ENERGY_LIMIT أ. الوصف تعديل حد الطاقة الإجمالي للشبكة بالكامل. ب. مثال [50,000,000,000,000,000] SUN - وهي 50,000,000,000 TRX. ج. النطاق [0,100,000,000,000,000,000] الشمس 18. ALLOW_TVM_TRANSFER_TRC10 أ. الوصف السماح بنقل TRC-10 token خلال smart contracts. ALLOW_UPDATE_ACCOUNT_NAME، ALLOW_SAME_TOKEN_NAME، يجب الموافقة على جميع المقترحات ALLOW_DELEGATE_RESOURCE قبل تقديم الاقتراح تغيير هذه المعلمة.
ب. مثال خطأ - وهو متاح للاقتراح من java-tron Odyssey v3.2. ج. النطاق صحيح/خطأ - ملاحظة: لا يمكن الرجوع إلى خطأ من صحيح.9.2.3 إنشاء الاقتراح

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

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

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

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

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

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

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

10.2 الشبكات

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

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

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

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

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

  1. الاستنتاج

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