ورقة عمل ترون
Введение
1.1 Видение
TRON — амбициозный проект, посвященный созданию по-настоящему децентрализованного Интернета и его
инфраструктура. Протокол TRON, одна из крупнейших операционных систем на базе blockchain в мире.
мире предлагает общедоступную blockchain поддержку высокой пропускной способности, высокой масштабируемости и высокой доступности для
все децентрализованные приложения (DApps) в экосистеме TRON. Приобретение в июле 2018 г.
BitTorrent еще больше укрепил лидерство TRON в создании децентрализованной экосистемы.
1.2 Предыстория
Введение Bitcoin в 2009 году произвело революцию в восприятии обществом традиционных финансовых системы после Великой рецессии (2007-2008 гг.). Централизованные хедж-фонды и банки рухнула из-за спекуляций с непрозрачными производными финансовыми инструментами, технология blockchain предоставила прозрачный универсальный реестр, из которого каждый может получить информацию о транзакциях. транзакции были криптографически защищены с использованием механизма консенсуса Proof of Work (PoW), тем самым предотвращая проблемы двойного расходования.
В конце 2013 года в официальном документе Ethereum была предложена сеть, в которой smart contracts и Полная по Тьюрингу виртуальная машина Ethereum (EVM) позволит разработчикам взаимодействовать с сеть через DApps. Однако, поскольку объемы транзакций в Bitcoin и Ethereum достигли пика в 2017 году, это было очевидно по низкой скорости обработки транзакций и высоким комиссиям за транзакции, что криптовалюты, такие как Bitcoin и Ethereum, в их существующем состоянии не были масштабируемы для широкого распространения. усыновление. Таким образом, TRON был основан и задуман как инновационное решение этих насущных проблем. проблемы масштабируемости.

1.3 История TRON DAO была основана в июле 2017 года в Сингапуре. В декабре 2017 года у TRON было запустил свой протокол с открытым исходным кодом. Testnet, Blockchain Explorer и веб-кошелек были запущен к марту 2018 года. TRON Основная сеть была запущена вскоре после этого, в мае 2018 года, ознаменовав Выпуск Odyssey 2.0 как техническая веха. В июне 2018 года TRON провозгласил свою независимость. с созданием блока Genesis, а также с приобретением BitTorrent в июле 2018 года. В В октябре 2018 года TRON запустил виртуальную машину TRON (TVM), полный набор инструментов для разработчиков, и система поддержки 360. Дорожная карта TRON предполагает объединение 100 миллионов пользователей BitTorrent. с сетью TRON через Project Atlas, а также способствовать запуску сообщества разработчиков новые захватывающие DApps в сети TRON1. 1 версия 1.0 доступна по адресу https://tron.network/static/doc/white_paper_v_1_0.pdf.
1.4 Терминология
Адрес/Кошелек Адрес или кошелек, состоящий из учетных данных учетной записи в сети TRON, генерируется пара ключей, состоящая из закрытого ключа и открытого ключа, причем последний является производным от первого. через алгоритм. Открытый ключ обычно используется для шифрования сеансового ключа, подписи верификация и шифрование данных, которые могут быть расшифрованы соответствующим секретным ключом.
АБИ Бинарный интерфейс приложения (ABI) — это интерфейс между двумя двоичными программными модулями; обычно один из этих модулей представляет собой библиотеку или средство операционной системы, а другой — запускаемый пользователем программа.
API Интерфейс прикладного программирования (API) в основном используется для разработки пользовательских клиентов. С API поддержка, платформы выдачи token также могут быть разработаны самими разработчиками.
Актив В документах TRON актив аналогичен token, который также обозначается как TRC-10 token.
Очки пропускной способности (BP) Чтобы обеспечить бесперебойную работу сети, сетевые транзакции TRON используют BP в качестве топлива. Каждый аккаунт получает 5000 бесплатных ежедневных BP, и еще больше можно получить, заморозив TRX за BP. И TRX, и TRC-10. Переводы token — это обычные транзакции, стоимость которых составляет BP. Развертывание и исполнение смарт-контракта транзакции потребляют как BP, так и энергию.
Блокировать Блоки содержат цифровые записи транзакций. Полный блок состоит из магического числа, размер блока, заголовок блока, счетчик транзакций и данные транзакции.
Блокировать вознаграждение Награды за производство блоков отправляются на субсчет (адрес/кошелек). Суперпредставители могут запросите свои вознаграждения на Tronscan или напрямую через API.
Заголовок блока Заголовок блока является частью блока. Заголовки блоков TRON содержат hash предыдущего блока, Корень Меркла, временная метка, версия и адрес-свидетель.Холодный кошелек Холодный кошелек, также известный как автономный кошелек, сохраняет закрытый ключ полностью отключенным от любого сеть. Холодные кошельки обычно устанавливаются на «холодные» устройства (например, компьютеры или мобильные телефоны). оставаясь в автономном режиме), чтобы обеспечить безопасность закрытого ключа TRX.
Децентрализованное приложение Децентрализованное приложение — это приложение, которое работает без централизованно доверенной стороны. Приложение что обеспечивает прямое взаимодействие/договоры/коммуникацию между конечными пользователями и/или ресурсами без посредника.
gRPC gRPC (вызовы удаленных процедур gRPC) — это система удаленного вызова процедур (RPC) с открытым исходным кодом. 2 изначально разработанный в Google. Он использует HTTP/2 для транспорта, буферы протокола в качестве интерфейса. язык описания и предоставляет такие функции, как аутентификация, двунаправленная потоковая передача и поток контрольные, блокирующие или неблокирующие привязки, а также отмену и тайм-ауты. Он генерирует кроссплатформенные привязки клиента и сервера для многих языков. Наиболее распространенные сценарии использования включать подключение сервисов в архитектуре в стиле микросервисов и подключение мобильных устройств, а также браузерные клиенты для серверных служб.
Горячий кошелек Горячий кошелек, также известный как онлайн-кошелек, позволяет использовать закрытый ключ пользователя онлайн, поэтому его можно подвержены потенциальным уязвимостям или перехвату злоумышленниками.
ЯДК Java Development Kit — это Java SDK, используемый для приложений Java. Это ядро Java разработка, включающая среду приложений Java (библиотека классов JVM+Java) и Java инструменты.
ХаосДБ TRON имеет KhaosDB в памяти полного узла, в которой могут храниться все созданные вновь разветвленные цепочки. в течение определенного периода времени и помогает свидетелям быстро переключаться с их собственной активной цепочки в новую основную цепь. Дополнительную информацию см. в разделе 2.2.2 Хранилище состояний.
УровеньБД Изначально LevelDB был принят с основной целью удовлетворить требования быстрого чтения/записи и быстрого развитие. После запуска основной сети TRON обновил свою базу данных до полностью адаптированной каждый удовлетворял свои собственные потребности. Более подробную информацию см. в разделе 2.2.1 «Хранилище блокчейна».
Меркл Рут Корень Меркла — это hash всех hash всех транзакций, включенных как часть блока в blockchain. сеть. Дополнительную информацию см. в разделе 3.1 «Делегированное подтверждение доли» (DPoS). 2 https://en.wikipedia.org/wiki/GRPC

Публичная тестовая сеть (Шаста) Версия сети, работающая в одноузловой конфигурации. Разработчики могут подключиться и протестировать функции, не беспокоясь об экономических потерях. Тестовые сети token не имеют никакой ценности, и каждый может это сделать. запросите больше у общедоступного крана.
ПКП
3
В распределенных вычислениях удаленный вызов процедур (RPC) — это когда компьютерная программа вызывает
процедура (подпрограмма) для выполнения в другом адресном пространстве (обычно на другом компьютере на
общая сеть), который закодирован так, как если бы это был обычный (локальный) вызов процедуры, без
программист явно кодирует детали удаленного взаимодействия.
Масштабируемость Масштабируемость — это особенность протокола TRON. Это способность системы, сети или процесса справляться с растущим объемом работы или ее потенциалом для увеличения, чтобы приспособиться к этому росту.
СОЛНЦЕ SUN заменил drop как наименьшую единицу TRX. 1 TRX = 1 000 000 СОЛНЦЕВ.
Пропускная способность Высокая пропускная способность — особенность основной сети TRON. Он измеряется в транзакциях в секунду (TPS), а именно максимальная пропускная способность транзакций за одну секунду.
Временная метка Примерное время создания блока записывается как временная метка Unix, которая представляет собой количество миллисекунды, прошедшие с 00:00:00 1 января 1970 года по всемирному координированному времени.
ТКС Конфигурация токена.
ТРК-10 Стандарт шифрования token на платформе TRON. Необходимо соблюдать определенные правила и интерфейсы. при проведении первичного предложения монет TRON blockchain.
ТРХ TRX означает Tronix, официальную криптовалюту 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 وتصورها كحل مبتكر لهذه المشاكل الملحة تحديات قابلية التوسع.

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

شبكة الاختبار العامة (شاستا) نسخة من الشبكة تعمل بتكوين عقدة واحدة. يمكن للمطورين الاتصال والاختبار الميزات دون القلق بشأن الخسارة الاقتصادية. ليس لـ 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
Архитектура
TRON использует трехуровневую архитектуру, разделенную на уровень хранения, базовый уровень и уровень приложения. Протокол TRON соответствует Google Protobuf, который поддерживает многоязычность. расширение.

Рисунок 1: TRON 3-уровневая архитектура
2.1 Ядро
На базовом уровне имеется несколько модулей, в том числе smart contracts, управление учетными записями и консенсус. Виртуальная машина на основе стека реализована на TRON и оптимизирована инструкция используется набор. Чтобы лучше поддерживать разработчиков DApp, 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 Применение
Разработчики могут создавать разнообразные DApps и индивидуальные кошельки на TRON. С TRON позволяет развертывать и выполнять smart contracts, возможности служебных приложений безлимитный. 4 Официальная документация Solidity: https://solidity.readthedocs.io/
2.4 Протокол
Протокол TRON соответствует протоколу Google Protocol Buffers , который не зависит от языка и платформы, 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 можно легко использовать в клиентах JavaScript. 2.5 TRON Виртуальная машина (TVM)
TVM — это легкая, полная по Тьюрингу виртуальная машина, разработанная для экосистемы TRON.
TVM легко соединяется с существующей экосистемой разработки, предоставляя миллионам глобальных
разработчики с помощью специально созданной системы blockchain, которая является эффективной, удобной, стабильной, безопасной и
масштабируемый.
2.6 Децентрализованная биржа (DEX)
5 Официальная документация Google Protocol Buffers: https://developers.google.com/protocol-buffers/Сеть TRON изначально поддерживает функции децентрализованного обмена. Децентрализованная биржа состоит из нескольких торговых пар. Торговая пара (обозначение «Биржа») – это биржевой рынок. между TRC-10 token или между TRC-10 token и TRX. Любой счет может создать торговый создать пару между любыми token, даже если такая же пара уже существует в сети TRON. Торговля и Колебания цен торговых пар следуют протоколу Bancor. Сеть TRON предусматривает, что 6 веса двух token во всех торговых парах равны, поэтому соотношение их балансов и есть цена между ними. Например, рассмотрим торговую пару, содержащую два token, ABC и DEF. У ABC есть баланс составляет 10 миллионов, а баланс DEF составляет 1 миллион. Поскольку их веса равны, 10 ABC = 1 ЗАЩ. Это означает, что отношение ABC к DEF составляет 10 ABC на DEF. 2.7 Реализация
Код TRON blockchain реализован на Java и изначально был ответвлением EthereumJ.
6 Официальный сайт Bancor Protocol: https://about.bancor.network/protocol/
بنيان
TRON يعتمد بنية ثلاثية الطبقات مقسمة إلى طبقة التخزين، والطبقة الأساسية، وطبقة التطبيق. يلتزم بروتوكول TRON بـ Google Protobuf، الذي يدعم بشكل جوهري تعدد اللغات التمديد.

الشكل 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/
Консенсус
3.1 Делегированное подтверждение доли (DPoS)
Самым ранним механизмом консенсуса является механизм консенсуса Proof of Work (PoW). Это протокол в настоящее время реализован в Bitcoin и Ethereum. В системах PoW транзакции 7 8 трансляции по сети группируются в формирующиеся блоки для подтверждения майнера. процесс подтверждения включает в себя hashтранзакцию с использованием криптографических hashалгоритмов до тех пор, пока достигнут корень Меркла, создаётся дерево Меркла:
Рисунок 2: 8 транзакций TRX hash в корне Merkle. Этот корень Меркла затем включается в заголовок блока, который прикрепляется к ранее подтвержденным блокам, образуя blockchain. Это позволяет легко и прозрачно отслеживать транзакции, временные метки и другая соответствующая информация.
7 Bitcoin технический документ: https://bitcoin.org/bitcoin.pdf 8 Ethereum технический документ: https://github.com/ethereum/wiki/wiki/White-Paper
Криптографические алгоритмы hash полезны для предотвращения сетевых атак, поскольку они обладают
несколько свойств:
9
●
Размер входной/выходной длины. Алгоритм может передавать входные данные любой длины и
выводит значение hash фиксированной длины.
●
Эффективность. Алгоритм относительно прост и быстр в вычислении.
●
Сопротивление прообраза. Для данного выхода z невозможно найти какой-либо вход x такой, что
h(x) = z. Другими словами, алгоритм hashing h(x) представляет собой одностороннюю функцию, в которой только
выход можно найти по входным данным. Обратное невозможно.
●
Устойчивость к столкновениям. Вычислительно невозможно найти какие-либо пары x1 ≠ x2 такие, что h(x1)
= h(x2). Другими словами, вероятность найти два разных входа hash, имеющих одно и то же значение.
производительность крайне низкая. Это свойство также подразумевает сопротивление второму прообразу.
●
Сопротивление второго прообраза. Учитывая x1 и, следовательно, h(x1), вычислительно невозможно
найдите любой x2 такой, что h(x1) = h(x2). Хотя это свойство похоже на сопротивление столкновению,
Свойство отличается тем, что оно говорит, что злоумышленник с заданным x1 найдет его вычислительно.
невозможно найти какой-либо x2 hash__ с одним и тем же выходом.
●
Детерминированный — сопоставляет каждый вход одному и только одному выходу.
●
Avalanche эффект — небольшое изменение входных данных приводит к совершенно другому результату.
Эти свойства придают криптовалютной сети ее внутреннюю ценность, гарантируя, что атаки не будут скомпрометировать сеть. Когда майнеры подтверждают блок, они получают вознаграждение в виде tokens в качестве встроенного стимул для участия в сети. Однако, поскольку капитализация мирового рынка криптовалют неуклонно рос, майнеры стали централизованными и сосредоточили свои вычислительные ресурсы на накопление token в качестве активов, а не для целей участия в сети. CPU-майнеры уступили место Графические процессоры, которые, в свою очередь, уступили место мощным ASIC. В одном примечательном исследовании общая мощность потребление горнодобывающей промышленности Bitcoin оценивается в 3 ГВт, что сопоставимо с потреблением электроэнергии в Ирландии. 10 энергопотребление. В этом же исследовании прогнозируется, что общее энергопотребление в ближайшем будущем достигнет 8 ГВт. будущее.
Для решения проблемы энергетических отходов компания предложила механизм консенсуса Proof of Stake (PoS). много новых сетей. В сетях PoS держатели token блокируют свои балансы token, чтобы стать блокированными. validatorс. validator по очереди предлагают и голосуют за следующий блок. Однако проблема при использовании стандартного PoS влияние validator напрямую коррелирует с количеством заблокированных token. Это приводит к тому, что стороны накапливают большие суммы базовой валюты сети, используя неправомерные средства. влияние на сетевую экосистему.
Механизм консенсуса TRON использует инновационную систему делегированного доказательства доли, в которой 27
Суперпредставители (SR) производят блоки для сети. Каждые 6 часов владельцы счетов TRX
те, кто заморозит свои счета, могут проголосовать за избранных кандидатов от СР, среди которых будут 27 лучших кандидатов.
считали эсеров. Избиратели могут выбирать СР на основе таких критериев, как проекты, спонсируемые СР,
9 ПААР, К., ПЕЛЗЛ, Дж., «Понимание криптографии: учебник для студентов и практиков», изд. 2010 г.
Springer-Verlag Берлин Гейдельберг, 2010 г.
10 https://www.sciencedirect.com/science/article/pii/S2542435118301776увеличить внедрение TRX и распределить вознаграждения среди избирателей. Это позволяет создать более демократизированную и
децентрализованная экосистема. Аккаунты эсеров - обычные аккаунты, но их накопление голосов
позволяет им производить блоки. При низкой пропускной способности Bitcoin и Ethereum из-за их
Механизм консенсуса PoW и проблемы масштабируемости, система DPoS TRON предлагает инновационную
механизм, приводящий к 2000 TPS по сравнению с 3 TPS Bitcoin и 15 TPS Ethereum.
Сеть протокола TRON генерирует один блок каждые три секунды, при этом каждый блок получает 32 TRX для суперпредставителей. В общей сложности 336 384 000 TRX будут ежегодно присуждаться 27 СР. Каждый раз, когда SR завершает производство блоков, вознаграждения отправляются на субсчет в суперрегистре. SR могут проверять, но не использовать эти TRX token напрямую. Вывод средств может быть осуществлен каждым СР раз в 24 часа, перевод вознаграждения с субаккаунта на указанный СР счет.
В сети TRON есть три типа узлов: узел-свидетель, полный узел и узел Solidity. Узлы-свидетели создаются SR и в основном отвечают за производство и предложение блоков. создание/голосование. Полные узлы предоставляют API, а также широковещательные транзакции и блоки. Синхронизация узлов Solidity блоки из других полных узлов, а также предоставляют индексируемые API.
إجماع
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) هي دالة أحادية الاتجاه حيث يكون فقط
يمكن العثور على الإخراج، نظرا للمدخلات. والعكس غير ممكن.
●
مقاومة الاصطدام - من غير الممكن حسابيًا العثور على أي أزواج x1 ≠ x2 مثل h(x1)
= ح(س2). بمعنى آخر، احتمال العثور على مدخلين مختلفين hash لنفس الشيء
الإخراج منخفض للغاية. تتضمن هذه الخاصية أيضًا مقاومة الصورة الأولية الثانية.
●
المقاومة الأولية للصورة الثانية - بالنظر إلى x1، وبالتالي h(x1)، فمن غير الممكن حسابيًا
ابحث عن أي x2 بحيث h(x1) = h(x2). في حين أن هذه الخاصية تشبه مقاومة الاصطدام، فإن
تختلف الخاصية من حيث أنها تقول أن المهاجم الذي لديه x1 سيجدها حسابيًا
من غير الممكن العثور على أي x2 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 وتكون مسؤولة بشكل أساسي عن إنتاج الكتل واقتراحها الخلق / التصويت. توفر العقد الكاملة واجهات برمجة التطبيقات ومعاملات البث والكتل. مزامنة العقد الصلبة كتل من العقد الكاملة الأخرى وتوفر أيضًا واجهات برمجة التطبيقات القابلة للفهرسة.
Счет
4.1 Типы
В сети TRON есть три типа учетных записей: обычные учетные записи, учетные записи token и Контрактные счета.
1.
Обычные счета используются для стандартных транзакций.
2.
Учетные записи токенов используются для хранения token TRC-10.
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 Структура
Три различных типа учетных записей: Normal, AssetIssue и Contract. Аккаунт содержит 7 параметры:
1.
account_name: имя этой учетной записи – например. Счета счетов.
2.
тип: какой тип этой учетной записи – например. 0 (означает тип «Нормальный»).
3.
баланс: баланс этого счета – например. 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;
}
Блок
Блок обычно содержит заголовок блока и несколько транзакций.
Protobuf data structure:
message Block {
BlockHeader block_header = 1;
repeated Transaction transactions = 2;
}
5.1 Заголовок блока
Заголовок блока содержит raw_data, witness_signature и blockID.
Protobuf data structure:
message BlockHeader {
message raw {
int64 timestamp = 1;
bytes txTrieRoot = 2;
bytes parentHash = 3;
uint64 number = 4;
uint64 version = 5;
bytes witness_address = 6;
}
bytes witness_signature = 2;
bytes blockID = 3;
}
5.1.1 Необработанные данные
Необработанные данные обозначаются как raw_data в Protobuf. Он содержит необработанные данные сообщения, содержащие 6 параметры:
1. временная метка: временная метка этого сообщения – например. 1543884429000. 2. txTrieRoot: корень дерева Меркла – например. 7дакса…3изд. 3. родительскийHash: hash последнего блока – например. 7дакса…3изд. 4. число: высота блока – например. 4638708. 5. версия: зарезервировано – например. 5.
6. свидетеля_адрес: адрес свидетеля, упакованный в этот блок – например. 41928c...4d21. 5.1.2 Подпись свидетеля
Подпись свидетеля обозначается как Witness_signature в Protobuf, которая является подписью для этого заголовок блока из узла-свидетеля. 5.1.3 Идентификатор блока
Идентификатор блока обозначается как blockID в Protobuf. Он содержит атомарную идентификацию блока. Блок ID содержит 2 параметра: 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 обычно не взимает комиссию за большинство транзакций, однако из-за особенностей системы ограничения и справедливость, использование полосы пропускания и транзакции требуют определенных комиссий.
Сборы делятся на следующие категории: 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 } } }
كتلة
تحتوي الكتلة عادةً على رأس كتلة والعديد من المعاملات.
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.

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 Виртуальная машина
6.1 Введение
TRON Virtual Machine (TVM) — это легкая, полная по Тьюрингу виртуальная машина, разработанная для Экосистема TRON. Его цель — предоставить специально разработанную систему blockchain, которая будет эффективной, удобный, стабильный, безопасный и масштабируемый.
TVM изначально отделился от EVM и может легко соединиться с существующей Solidity smart contract. 11 экосистема развития. На основании этого TVM дополнительно поддерживает консенсус DPoS.
TVM использует концепцию энергии. В отличие от газового механизма на EVM, операции транзакции и smart contract на TVM бесплатны, TRX не расходуется. Технически, исполняемый вычислительная мощность TVM не ограничена общей суммой хранения tokens. 6.2 Рабочий процесс
Компилятор сначала преобразует Solidity smart contract в байт-код, читаемый и исполняемый на ТВМ. Затем TVM обрабатывает данные посредством кода операции, что эквивалентно работе логики. конечного автомата на основе стека. Наконец, TVM обращается к данным blockchain и вызывает Интерфейс внешних данных через уровень взаимодействия. 11 EVM: Ethereum виртуальная машина (https://github.com/ethereum/ethereumj)

Рисунок 3: Рабочий процесс TVM
6.3 Производительность 6.3.1 Облегченная архитектура
TVM использует облегченную архитектуру с целью снижения потребления ресурсов и гарантии производительность системы. 6.3.2 Надежность
Передача TRX и выполнение smart contract стоят только точек пропускной способности вместо TRX, который освобождает TRON от атаки. Потребление полосы пропускания предсказуемо и статично, поскольку каждый Стоимость вычислительного шага фиксирована. 6.3.3 Высокая совместимость
TVM совместим с EVM и в будущем будет совместим с другими распространенными виртуальными машинами. Таким образом, все smart contract на EVM являются исполняемыми на TVM. 6.3.4 Низкая стоимость
Благодаря настройке полосы пропускания TVM затраты на разработку сокращаются, и разработчики могут сосредоточиться на логическое развитие своего контрактного кода. TVM также предлагает универсальные интерфейсы по контракту. развертывание, запуск и просмотр для удобства разработчиков.
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)

الشكل 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 أيضًا واجهات الكل في واحد للتعاقد النشر والتشغيل والعرض لتوفير الراحة للمطورين.
Смарт-контракт
7.1 Введение
smart contract — это протокол, который осуществляет цифровую проверку переговоров по контракту. Они определяют правила и штрафы, связанные с соглашением, а также автоматически обеспечивают соблюдение этих обязательств. Умный Код контракта облегчает, проверяет и обеспечивает соблюдение условий соглашения или исполнения соглашения или транзакция. С точки зрения __PH_0001__изации, smart contracts также способствуют автоматическому пополнению средств. переводы между участвующими сторонами при соблюдении определенных критериев.
TRON smart contract написаны на языке Solidity. После того как они написаны и протестированы, их можно скомпилирован в байт-код, а затем развернут в сети TRON для виртуальной машины TRON. Однажды развернуты, smart contract можно запрашивать по адресам их контрактов. Заявление о контракте Двоичный интерфейс (ABI) отображает функции вызова контракта и используется для взаимодействия с сеть. 7.2 Энергетическая модель
Максимальный предел энергии для развертывания и срабатывания smart contract зависит от нескольких переменные:
● Динамическая энергия от заморозки 1 TRX равна 50 000 000 000 (Общий лимит энергии) / (Общая энергия Вес) ● Лимит энергии — это дневной лимит энергии аккаунта от заморозки TRX. ● Оставшаяся ежедневная энергия на счете после заморозки TRX рассчитывается как Лимит энергии - Энергия. Б/у ● Лимит комиссии в TRX устанавливается в smart contract вызове развертывания/триггера. ● Оставшийся доступный TRX на счету ● Энергия за TRX при покупке напрямую (10 СОЛНЦЕВ = 1 Энергия) = 100 000, СР могут голосовать. корректировка
Существует два сценария потребления для расчета максимального предела энергии для развертывания и
триггер. Логику можно выразить следующим образом:
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 Solidity smart contract компилируется, виртуальная машина TRON считывает скомпилированный файл. байт-код. Байт-код состоит из раздела для развертывания кода, кода контракта и Auxdata. Auxdata — это криптографический отпечаток исходного кода, используемый для проверки. Развертывание байт-код запускает функцию конструктора и устанавливает начальные переменные хранения. Развертывание code также вычисляет код контракта и возвращает его в TVM. ABI — это файл JSON, который описывает функции TRON smart contract. Этот файл определяет названия функций, их платежеспособность, возвращаемые функции значения и изменчивость их состояния. 7.4 Функция триггера
После развертывания TRON smart contract их функции можно запускать индивидуально либо через TronStudio или через вызовы API. Функции изменения состояния требуют энергии, а функции только для чтения. выполнить без энергии. 7.5 TRON Прочность
TRON Solidity — это ответвление языка Solidity Ethereum. TRON изменяет исходный проект на поддержка блоков TRX и SUN (1 TRX = 1 000 000 SUN). Остальная часть синтаксиса языка совместим с Solidity ^0.4.24. Таким образом, виртуальная машина Tron (TVM) практически на 100% совместима. с инструкциями 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.
Токен
8.1 Токен TRC-10
В сети TRON каждый аккаунт может выпустить token за 1024 TRX. Чтобы выдать tokens, эмитенту необходимо указать имя token, общую капитализацию, курс обмена к TRX, продолжительность тиража, описание, сайт, максимальное потребление трафика на аккаунт, всего потребление полосы пропускания и количество token заморожено. Для каждого выпуска token также можно настроить максимальный ежедневный лимит пропускной способности для каждой учетной записи token, максимальный дневной лимит всей сети token пропускная способность перевода, общее количество token, продолжительность блокировки в днях и общая сумма из tokens заблокировано. 8.2 Токен TRC-20
TRC-20 — это технический стандарт, используемый для __PH_0000__s, реализующий tokens, поддерживаемый TRON Виртуальная машина. Он полностью совместим с ERC-20.
Интерфейс выглядит следующим образом:
контракт TRC20Interface {
функция totalSupply() публичная константа возвращает (uint);
функция balanceOf(адрес tokenOwner) публичная константа возвращает (uint
баланс);
функция надбавка(адрес tokenВладелец, адрес отправителя) публичная константа
возвращает (осталось uint);
функция передача(адрес, uint tokens) public возвращает (bool успех);
функция approve(адрес отправителя, uint tokens) public возвращает (bool
успех);
функция transferFrom(адрес от, адрес, uint tokens) public
возвращает (bool успех);
событие Передача(адрес индексирован от, адрес индексирован до, uint tokens);
Событие Утверждение(индексированный адрес tokenВладелец, индексированный адрес отправителя, uint
tokens); }
С точки зрения разработчика, между TRC-10 и TRC-20 есть несколько различий. Некоторые Ключевое отличие состоит в том, что PH_0002 TRC-10 доступны через API и smart contract, в то время как TRC-20 tokens позволяют настраивать интерфейс, но доступны только в пределах smart contracts.
С точки зрения затрат комиссия за транзакцию TRC-10 token в 1000 раз ниже, чем у
TRC-20, но несет расходы на пропускную способность для переводов и депозитов API. Переводы и депозиты в смарте
Контракты на TRC-10 token требуют как пропускной способности, так и энергии.
8.3 Дальше
Поскольку TRON использует ту же версию Solidity, что и Ethereum, можно легко использовать больше стандартов token. портирован на 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.
Управление
9.1 Суперпредставитель 9.1.1 Общие сведения
Каждый аккаунт в сети TRON может подать заявку и получить возможность стать Супер Представитель (обозначается как SR). Каждый может голосовать за кандидатов от эсеров. 27 лучших кандидатов с наибольшее количество голосов получат SR с правом и обязанностью генерировать блоки. Голоса подсчитываются каждые 6 часов, и SR будут меняться соответственно.
Чтобы предотвратить злонамеренные атаки, нужно заплатить определенную цену за то, чтобы стать кандидатом в СР. При подаче заявки 9999 TRX будет удален со счета заявителя. В случае успеха такая учетная запись может присоединиться к SR. выборы. 9.1.2 Выборы
TRON Власть (обозначается как TP) необходима для голосования, а количество TP зависит от силы избирателя. замороженные активы (TRX).
ТП рассчитывается следующим образом:
ТП
1 TRX заморожен для увеличения пропускной способности
1
=
Каждый аккаунт в сети TRON имеет право голосовать за своих СР.
После релиза (разморозка, доступная через 3 дня) у пользователей не будет замороженных активов, и они потеряют все ТП соответственно. В результате все голоса становятся недействительными для текущего и будущего раундов голосования, если только 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 = общее вознаграждение за голоса в год (VR/год)
V R/год = 115, 200 T RX/раунд × 4 раунда/день × 365 дней/год
б. Блокировать вознаграждение
Также известна как награда суперпредставителя, которую получают 27 лучших кандидатов (СР), избранных.
каждый раунд (6 часов) будет добыт примерно 230 400 TRX. Вознаграждение будет разделено поровну
между 27 SR (за вычетом общего количества блоков вознаграждения, пропущенных из-за сетевой ошибки). Всего
336 384 000 TRX будут ежегодно присуждаться 27 СР.
Общая награда за блок за раунд
Почему 230 400 TRX за каждый раунд?
230, 400 T RX = общая награда за блок за раунд (BR/раунд)
BR/раунд = 32 T RX/блок × 20 блоков/мин × 60 минут/час × 6 часов/раунд
Обратите внимание: награда за блок единиц устанавливается WITNESS_PAY_PER_BLOCK = 32 TRX. См. динамическую сеть
параметры.
Общая награда за блок в год
Почему 336 384 000 TRX каждый год?
336 384 000 T RX = общее вознаграждение за блок в год (BR/год)
БР/год = 230, 400 T RX/раунд × 4 раунда/день × 365 дней/год
1 января 2021 г.
До 1 января 2021 года в сети TRON инфляции не будет, а в сети TRON DAO будет
выдать все награды за блоки и награды кандидатам до этой даты.
в. Расчет вознаграждения
Расчет вознаграждения SR
общая награда
награда за голосование (VR)
награда за блок (BR)
т
=
+
Р
всего В Р
В
=
×
общее количество голосов
голосов получил кандидат от СР
Р
блок пропущен
2
Б
=
27
всего БР —
× 3
Примечание: награда рассчитывается за SR за раунд (6 часов).
Расчет вознаграждения кандидатам СР с 28 по 127 ранг общая награда награда за голосование (VR) т =
Р
всего В Р
В
=
×
общее количество голосов
голосов получил кандидат от СР
Примечание: награда рассчитывается для каждого кандидата в СР за раунд (6 часов).
9.2 Комитет
9.2.1 Общие сведения
Комитет используется для изменения TRON динамических параметров сети, таких как генерация блоков.
вознаграждения, комиссии за транзакции и т. д. В состав комитета входят 27 SR текущего раунда. Каждый СР
имеет право вносить предложения и голосовать по ним. Если предложение получает 19 голосов или более, оно считается
утверждены, и новые параметры сети будут применены в следующий период обслуживания (3 дня).
9.2.2 Параметры динамической сети
0.
MAINTENANCE_TIME_INTERVAL
а.
Описание
Измените интервал технического обслуживания в мс. Известный как интервал голосования SR за
круглый.
б.
Пример
[636001000] мс — это 6 часов.
в.
Диапазон
[3271000, 2436001000] мс
1.
ACCOUNT_UPGRADE_COST
а.
Описание
Изменить стоимость подачи заявки на учетную запись SR.
б.
Пример
[9 999 000 000] SUN — это 9 999 TRX.
в.
Диапазон
[0,100 000 000 000 000 000] СОЛНЦЕ
2.
CREATE_ACCOUNT_FEE
а.
Описание
Измените плату за создание учетной записи.б.
Пример
[100,000] SUN – это 1 TRX.
в.
Диапазон
[0,100 000 000 000 000 000] СОЛНЦЕ
3.
TRANSACTION_FEE
а.
Описание
Измените размер платы, используемой для получения дополнительной пропускной способности.
б.
Пример
[10] СОЛНЦЕ/байт.
в.
Диапазон
[0,100 000 000 000 000 000] СОЛНЦЕ/байт
4.
ASSET_ISSUE_FEE
а.
Описание
Изменить комиссию за выпуск активов.
б.
Пример
[1024000000]SUN – это 1024 TRX.
в.
Диапазон
[0,100 000 000 000 000 000] СОЛНЦЕ
5.
WITNESS_PAY_PER_BLOCK
а.
Описание
Изменить вознаграждение за генерацию блока SR. Известен как награда за блок единиц.
б.
Пример
[32 000 000] SUN – это 32 TRX.
в.
Диапазон
[0,100 000 000 000 000 000] СОЛНЦЕ
6.
WITNESS_STANDBY_ALLOWANCE
а.
Описание
Изменить награды, вручаемые 127 лучшим кандидатам на СР. Известен как общая награда за голосование
за раунд.
б.
Пример
[115 200 000 000] SUN — это 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 UTC. в. Диапазон Верно/Неверно 10. УДАЛИТЬ_THE_POWER_OF_THE_GR а. Описание Удалить первоначальные голоса за генезис GR. б. Пример Верно – вступило в силу 04.11.2018, 08:46 UTC. в. Диапазон True/False — Примечание: невозможно вернуть значение False из True. 11. ЭНЕРГИЯ_FEE а. Описание Измените плату в 1 энергию. б. Пример 20 ВС. в. Диапазон [0,100 000 000 000 000 000] СОЛНЦЕ 12. EXCHANGE_CREATE_FEE а. Описание Измените стоимость создания торговой пары. Известна как стоимость создания торгового заказа. б. Пример [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.
в.
Диапазон
True/False — Примечание: невозможно вернуть значение False из True.
15. ALLOW_SAME_TOKEN_NAME
а.
Описание
Измените проверку, позволяющую разным token иметь повторяющееся имя.
б.
Пример
Ложь - которую можно предложить из java-tron Odyssey v3.2.
в.
Диапазон
True/False — Примечание: невозможно вернуть значение False из True.
16. ALLOW_DELEGATE_RESOURCE
а.
Описание
Измените проверку, позволяющую выдавать token с повторяющимся именем, чтобы
tokenID token в длинном целочисленном типе данных будет единственным атомарным
идентификация token.
б.
Пример
Ложь - которую можно предложить из java-tron Odyssey v3.2.
в.
Диапазон
True/False — Примечание: невозможно вернуть значение False из True.
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 contract с.
ALLOW_UPDATE_ACCOUNT_NAME, ALLOW_SAME_TOKEN_NAME,
Все предложения ALLOW_DELEGATE_RESOURCE должны быть одобрены, прежде чем предлагать их.
этот параметр изменится.
б.
Пример
Ложь - которую можно предложить из java-tron Odyssey v3.2.
в.
Диапазон
True/False — Примечание: невозможно вернуть значение False из True.9.2.3 Создать предложение
Только учетные записи SR имеют право предлагать изменение динамических параметров сети. 9.2.4 Голосование за предложение
За предложение могут голосовать только члены комитета (СР), а также тот член, который не проголосует вовремя. будет рассматриваться как несогласие. Предложение активно в течение 3 дней после создания. Голосование может быть изменены или восстановлены в течение трехдневного периода голосования. По истечении этого периода предложение будет либо успех (19+ голосов), либо провал (и конец). 9.2.5 Отмена предложения
Предлагающий может отменить предложение до того, как оно вступит в силу. 9.3 Структура
SR являются свидетелями вновь созданных блоков. Свидетель содержит 8 параметров:
1.
адрес: адрес этого свидетеля – например. 0xu82h…7237.
2.
voiceCount: количество полученных голосов на этом свидетеле – например. 234234.
3.
pubKey: открытый ключ для этого свидетеля – например. 0xu82h…7237.
4.
url: URL-адрес этого свидетеля, например. https://www.noonetrust.com.
5.
totalProduced: количество блоков, созданных этим свидетелем, например 2434.
6.
totalMissed: количество блоков, которые этот свидетель пропустил – например. 7.
7.
LatestBlockNum: последняя высота блока – например. 4522.
8.
isjobs: логический флаг.
Структура данных Protobuf:
сообщение Свидетель{
байтовый адрес = 1;
int64 voiceCount = 2;
байты pubKey = 3;
строка URL = 4;
int64 totalProduced = 5;
int64 totalMissed = 6;
int64 последнийBlockNum = 7;
bool isJobs = 8;
}
- Разработка децентрализованных приложений 10.1 API
Сеть TRON предлагает широкий выбор из более чем 60+ HTTP API-шлюзов для взаимодействия с сеть через полные узлы и узлы Solidity. Кроме того, TronWeb — это обширная библиотека JavaScript. содержащий функции API, которые позволяют разработчикам развертывать smart contract, измените blockchain состояние, запрос blockchain и информацию о контракте, торговля на DEX и многое другое. Эти API шлюзы могут быть направлены на локальную частную сеть, тестовую сеть Shasta или основную сеть TRON.
10.2 Сети
TRON имеет как тестовую сеть Shasta, так и основную сеть. Разработчики могут подключаться к сетям путем
развертывание узлов, взаимодействие через TronStudio или использование API через сервис TronGrid. ТронГрид
Сервис состоит из кластеров узлов с балансировкой нагрузки, размещенных на серверах AWS по всему миру. Как децентрализованное приложение
масштабы разработки и объемы вызовов API увеличиваются, TronGrid успешно справляется с увеличением
API-трафик.
10.3 Инструменты
TRON предлагает набор инструментов разработки, позволяющий разработчикам создавать инновационные DApps.
TronBox — это платформа, которая позволяет разработчикам тестировать и развертывать smart contract через TronWeb.
API. TronGrid — это размещенная служба API с балансировкой нагрузки, которая позволяет разработчикам получать доступ к
TRON сети без необходимости запуска собственного узла. TronGrid предлагает доступ как к Shasta
testnet, а также основная сеть TRON. TronStudio — это комплексная комплексная разработка.
Среда (IDE), позволяющая разработчикам компилировать, развертывать и отлаживать интеллектуальные приложения Solidity.
контракты. TronStudio содержит внутренний полный узел, который создает частную локальную среду для
smart contract тестирование перед развертыванием. Библиотека TronWeb API соединяет разработчиков с
сети с помощью широкого выбора вызовов HTTP API, завернутых в JavaScript.
10.4 Ресурсы
TRON Developer Hub — это комплексный сайт документации по API, предназначенный для 12 разработчики, желающие использовать сеть TRON. Центр разработчиков предоставляет высокий уровень концептуальное понимание TRON и знакомит пользователей с деталями взаимодействия с 12 Центр разработчиков: https://developers.tron.network/
сеть. Руководства знакомят разработчиков с настройками узлов, их развертыванием и взаимодействием с интеллектуальными
контракты, взаимодействие и реализация API, создание образцов DApp и использование каждого из
инструменты разработчика. Кроме того, каналы сообщества разработчиков доступны через Discord.
13
13 Дискорд: https://discordapp.com/invite/GsRgsTD
- Заключение
TRON — это масштабируемое решение blockchain, в котором использованы инновационные методы решения проблемы проблемы, с которыми сталкиваются устаревшие сети blockchain. Достигнув более 2 миллионов транзакций в день, с более чем 700 тысячами учетных записей TRX и превысив 2000 TPS, TRON позволил сообществу создание децентрализованной и демократизированной сети.
الحكم
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;
}
- تطوير التطبيقات اللامركزية 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
- الاستنتاج
TRON هو حل blockchain قابل للتطوير يستخدم أساليب مبتكرة لمعالجة التحديات التي تواجهها شبكات blockchain القديمة. بعد أن وصل إلى أكثر من 2 مليون معاملة يوميًا، مع أكثر من 700 ألف حساب TRX، وتجاوز 2000 TPS، TRON مكن المجتمع من إنشاء شبكة لامركزية وديمقراطية.