ورقة عمل ترون
介绍
1.1 愿景
TRON 是一个雄心勃勃的项目,致力于建立一个真正去中心化的互联网及其
基础设施。 TRON 协议,最大的基于 blockchain 的操作系统之一
world,为高吞吐量、高可扩展性和高可用性提供公共 blockchain 支持
TRON 生态系统中的所有去中心化应用程序 (DApp)。 2018年7月收购
BitTorrent 进一步巩固了 TRON 在追求去中心化生态系统方面的领导地位。
1.2 背景
2009 年Bitcoin 的推出彻底改变了社会对传统金融的看法 大衰退(2007-2008)之后的系统。作为中心化的对冲基金和银行 由于不透明的金融衍生品投机而崩溃,blockchain 技术提供了 透明的通用分类账,任何人都可以从中收集交易信息。的 使用工作证明(PoW)共识机制以加密方式保护交易, 从而防止双重支出问题。
2013 年底,Ethereum 白皮书提出了一个网络,其中 smart contract 和 图灵完备的 Ethereum 虚拟机 (EVM) 将允许开发人员与 通过 DApp 网络。然而,随着 Bitcoin 和 Ethereum 的交易量在 2017 年达到顶峰, 从低交易吞吐量时间和高交易费用可以明显看出 像 Bitcoin 和 Ethereum 这样的加密货币在其现有状态下无法扩展以供广泛使用 收养。因此,TRON 成立并被设想为解决这些紧迫问题的创新解决方案 可扩展性挑战。

1.3 历史 TRON DAO 于 2017 年 7 月在新加坡成立。 2017 年 12 月,TRON 有 推出了其开源协议。测试网、区块链浏览器和网络钱包都是 于 2018 年 3 月推出。TRON 主网随后于 2018 年 5 月推出,标志着 Odyssey 2.0 的发布是一个技术里程碑。 2018年6月,TRON宣布独立 随着 Genesis 区块的创建,以及 2018 年 7 月对 BitTorrent 的收购。在 2018 年 10 月,TRON 推出了 TRON 虚拟机 (TVM),这是一个完整的开发人员工具集, 以及360支持系统。 TRON 路线图涉及合并 BitTorrent 的 1 亿用户 通过 Project Atlas 与 TRON 网络合作,并促进开发者社区推出 TRON 网络上令人兴奋的新 DApps1。 1 V1.0 发布于 https://tron.network/static/doc/white_paper_v_1_0.pdf
1.4 术语
地址/钱包 由 TRON 网络上的帐户凭据组成的地址或钱包由 密钥对,由私钥和公钥组成,后者源自前者 通过算法。公钥通常用于会话密钥加密、签名 验证,并对可以通过相应私钥解密的数据进行加密。
ABI 应用程序二进制接口(ABI)是两个二进制程序模块之间的接口;通常 这些模块之一是库或操作系统设施,另一个是用户运行的 程序。
应用程序编程接口 应用程序编程接口(API)主要用于用户客户端开发。具有API 支持,token发行平台也可以由开发者自行设计。
资产 在TRON的文档中,资产与token相同,也表示为TRC-10 token。
带宽点 (BP) 为了保持网络平稳运行,TRON网络交易使用BP作为燃料。每个账户 每日免费获得5000BP,冻结TRX换BP还可获得更多。 TRX 和 TRC-10 token 转账是消耗 BP 的正常交易。 智能合约部署和执行 交易既消耗BP又消耗Energy。
块 区块包含交易的数字记录。一个完整的块由幻数组成, 区块大小、区块头、交易计数器和交易数据。
区块奖励 区块生产奖励发送至子账户(地址/钱包)。超级代表可以 在 Tronscan 上或直接通过 API 领取奖励。
区块头 块头是块的一部分。 TRON 块头包含前一个块的 hash, Merkle 根、时间戳、版本和见证人地址。冷钱包 冷钱包也称为离线钱包,使私钥与任何人完全断开连接。 网络。冷钱包通常安装在“冷”设备上(例如电脑或手机) 保持离线)以保证TRX私钥的安全。
去中心化应用程序 去中心化应用程序是一种在没有集中信任方的情况下运行的应用程序。申请 实现最终用户和/或资源之间的直接交互/协议/通信 没有中间人。
远程过程调用 gRPC(gRPC Remote procedure Calls)是一个开源的远程过程调用(RPC)系统 2 最初是在 Google 开发的。它使用 HTTP/2 进行传输,使用 Protocol Buffers 作为接口 描述语言,并提供身份验证、双向流和流量等功能 控制、阻塞或非阻塞绑定以及取消和超时。它生成 多种语言的跨平台客户端和服务器绑定。最常见的使用场景 包括微服务风格架构中的连接服务和连接移动设备,以及 浏览器客户端到后端服务。
热钱包 热钱包又称在线钱包,允许用户在线使用私钥,因此可以 容易受到潜在漏洞或恶意行为者拦截的影响。
JDK Java Development Kit 是用于 Java 应用程序的 Java SDK。它是Java的核心 开发,包括Java应用环境(JVM+Java类库)和Java 工具。
考斯数据库 TRON 在全节点内存中有一个 KhaosDB,可以存储所有新分叉生成的链 在一定时间内支持见证人快速从自己的活跃链切换 进入新的主链。更多详细信息请参见 2.2.2 状态存储。
水平数据库 LevelDB最初被采用的主要目标是满足快速R/W和快速读取的要求。 发展。主网启动后,TRON 将其数据库升级为完全定制的 一个满足其自身的需要。更多详情请参见2.2.1 区块链存储。
默克尔根 Merkle 根是作为 blockchain 中的块的一部分包含的所有交易的所有 hash 的 hash 网络。有关更多详细信息,请参阅 3.1 委托权益证明 (DPoS)。 2 https://en.wikipedia.org/wiki/GRPC

公共测试网(Shasta) 以单节点配置运行的网络版本。开发者可以连接并测试 功能,无需担心经济损失。测试网 tokens 没有价值,任何人都可以 对公共水龙头提出更多要求。
远程过程调用
3
在分布式计算中,远程过程调用(RPC)是指计算机程序引起
在不同的地址空间(通常在另一台计算机上)执行的过程(子例程)
一个共享网络),它的编码就像一个正常的(本地)过程调用,没有
程序员明确编码远程交互的细节。
可扩展性 可扩展性是 TRON 协议的一项功能。它是系统、网络或流程的能力 处理越来越多的工作或扩大工作量以适应这种增长的潜力。
太阳 SUN取代drop成为TRX的最小单位。 1 TRX = 1,000,000 SUN。
吞吐量 高吞吐量是 TRON 主网的一个特点。它以每秒事务数 (TPS) 来衡量, 即一秒内的最大交易能力。
时间戳 区块生产的大致时间记录为Unix时间戳,即区块生产的数量 自 UTC 时间 1970 年 1 月 1 日 00:00:00 起经过的毫秒数。
TKC 令牌配置。
TRC-10 TRON 平台上的加密货币 token 标准。需要遵循一定的规则和接口 在 TRON blockchain 举行首次代币发行时。
TRX 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 应用
开发者可以在TRON上创建各种DApp和定制钱包。自 TRON 起 使 smart contracts 能够被部署和执行,实用程序应用程序的机会是 无限。 4 Solidity 官方文档:https://solidity.readthedocs.io/
2.4 协议
TRON 协议遵循 Google Protocol Buffers ,这是一种语言中立、平台中立的协议, 5 以及序列化结构化数据的可扩展方式,用于通信协议、数据存储、 等等。 2.4.1 协议缓冲区
Protocol Buffers (Protobuf) 是一种灵活、高效、自动化的机制,用于序列化结构化数据 data,类似于 JSON 或 XML,但更小、更快、更简单。
Protobuf (.proto) 定义可用于生成 C++、Java、C#、Python、Ruby、 通过官方代码生成器生成 Golang 和 Objective-C 语言。各种第三方 还可以用于许多其他语言的实现。 Protobuf 简化了开发 通过统一 API 定义并优化数据传输来为客户端提供服务。客户可以使用API 来自 TRON 协议存储库的 .proto 并通过自动生成的代码进行集成 图书馆。
相比之下,Protocol Buffers 比 XML 小 3 到 10 倍,速度快 20 到 100 倍, 具有更少歧义的语法。 Protobuf 生成更易于使用的数据访问类 以编程方式。 2.4.2 超文本传输协议
TRON 协议提供了 Protobuf API 的 RESTful HTTP 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 有 余额为1000万,DEF余额为100万。由于它们的权重相等,因此 10 ABC = 1 防御。这意味着 ABC 与 DEF 的比率为 10 ABC/DEF。 2.7 实施
TRON blockchain 代码是用 Java 实现的,最初是 EthereumJ 的分支。
6 Bancor协议官网: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)
最早的共识机制是工作量证明(PoW)共识机制。这个 协议目前在 Bitcoin 和 Ethereum 中实现。在 PoW 系统中,交易 7 8 通过网络广播的数据被分组为新生块以供矿工确认。的 确认过程涉及使用加密 hashing 算法进行 hashing 交易,直到 已达到默克尔根,创建默克尔树:
图 2:8 个 TRX 交易被 hash 写入 Merkle 根中。然后这个默克尔根被包含在区块头中, 附加到之前确认的块上,形成blockchain。这样可以轻松、透明地跟踪 交易、时间戳和其他相关信息。
7 Bitcoin 白皮书:https://bitcoin.org/bitcoin.pdf 8 Ethereum 白皮书:https://github.com/ethereum/wiki/wiki/White-Paper
加密 hashing 算法在网络攻击预防中非常有用,因为它们具有
几个属性:
9
●
输入/输出长度大小 - 该算法可以传入任意长度大小的输入,并且
输出固定长度 hash 值。
●
效率 - 该算法计算起来相对简单且快速。
●
原像抗性 - 对于给定的输出z,不可能找到任何输入x,使得
h(x) = z。换句话说,hashing 算法h(x) 是一种单向函数,其中仅
给定输入,可以找到输出。反过来是不可能的。
●
抗碰撞性 - 在计算上无法找到任何对 x1 ≠ x2 使得h(x1)
= h(x2).换句话说,找到两个不同输入 hashing 到同一输入的概率
产量极低。该属性还意味着第二原像抵抗。
●
第二原像抗性 - 给定x1,因此h(x1),在计算上是不可行的
找到任意x2,使得h(x1) = h(x2)。虽然此属性类似于防撞性,但
属性的不同之处在于,它表示具有给定x1的攻击者将通过计算找到它
无法找到任何x2 hashing 到相同的输出。
●
确定性 - 将每个输入映射到一个且仅一个输出。
●
Avalanche 效果 - 输入的微小变化会导致完全不同的输出。
这些特性确保加密货币网络不会受到攻击,从而赋予其内在价值。 危害网络。当矿工确认一个区块时,他们将获得 tokens 作为内置奖励 网络参与的激励。然而,随着全球加密货币市值 稳步增长,矿工变得中心化,将计算资源集中在 囤积 token 作为资产,而不是用于网络参与目的。 CPU矿工让位于 GPU 又让位于强大的 ASIC。在一项著名的研究中,总功率 Bitcoin 采矿消耗量估计高达 3 吉瓦,与爱尔兰的消耗量相当 10 功耗。该研究预计不久的将来总功耗将达到 8 GW 未来。
为了解决能源浪费问题,权益证明(PoS)共识机制被提出 许多新网络。在 PoS 网络中,token 持有者锁定其 token 余额以成为区块 validators。 validator 轮流对下一个区块进行提议和投票。然而,问题 对于标准 PoS 来说,validator 的影响力与锁定的 token 数量直接相关。 这导致各方囤积大量网络基础货币并过度使用 在网络生态系统中的影响力。
TRON 共识机制采用创新的委托权益证明系统,其中 27
超级代表(SR)为网络生产区块。每 6 小时,TRX 账户持有者
冻结账户的人可以投票选出 SR 候选人,其中排名前 27 的候选人
视为 SR。选民可以根据 SR 赞助的项目等标准来选择 SR
9 PAAR, C., PELZL, J.,《理解密码学:学生和从业者教科书》,2010 年版。
柏林施普林格出版社海德堡,2010。
10https://www.sciencedirect.com/science/article/pii/S2542435118301776提高 TRX 的采用率,并向选民分配奖励。这使得更加民主化和
去中心化的生态系统。 SR的账户是普通账户,但是他们的投票是累积的
允许他们生产区块。由于 Bitcoin 和 Ethereum 的吞吐率较低,
PoW共识机制和可扩展性问题,TRON的DPoS系统提供了一种创新的
机制导致 2000 TPS 与 Bitcoin 的 3 TPS 和 Ethereum 的 15 TPS 相比。
TRON 协议网络每三秒生成一个区块,每个区块奖励 32 TRX 给超级代表。每年将向 27 名 SR 奖励总计 336,384,000 TRX。 每次SR完成区块生产时,奖励都会发送到超级账本的子账户中。 SR 可以检查,但不能直接使用这些 TRX token。每人均可提款 每24小时SR一次,将子账号的奖励转入指定SR 帐户。
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.
令牌账户用于存储 TRC-10 tokens。
3.
合约账户是由普通账户创建的 smart contract 账户,可以
也由常规帐户触发。
4.2 创建
创建 TRON 帐户的方法有以下三种:
1. 通过API创建新账户 2. 将TRX转入新账户地址 3. 将任何 TRC-10 token 转入新帐户地址
离线密钥对,由地址(公钥)和私钥组成,且未被记录。 TRON网络,也可以生成。用户地址生成算法包括 生成密钥对,然后提取公钥(代表 x, y 的 64 字节字节数组 坐标)。使用SHA3-256函数对公钥进行哈希处理(采用的SHA3协议是 KECCAK-256)并提取结果的最后 20 个字节。将 41 添加到字节数组的开头 并保证起始地址长度为21字节。使用 SHA3-256 函数对地址进行两次哈希处理 并取前4个字节作为验证码。将验证码添加到初始的末尾 地址,通过base58编码得到base58check格式的地址。一个编码的 主网地址以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.
latest_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;
}
حساب
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 原始数据
原始数据在 Protobuf 中表示为raw_data。它包含一条消息的原始数据,包含6 参数:
1. 时间戳:该消息的时间戳 – 例如1543884429000。 2. txTrieRoot:Merkle 树的根 – 例如7dacsa…3ed。 3. ParentHash:最后一个块的 hash – 例如7dacsa…3ed。 4. number:区块高度 – 例如4638708。 5. 版本:保留 – 例如5.

6. 证人地址:包含在该块中的证人的地址 - 例如41928c...4d21。 5.1.2 见证人签名
见证人签名在 Protobuf 中表示为witness_signature,即为此的签名 来自见证节点的块头。 5.1.3 区块ID
块 ID 在 Protobuf 中表示为blockID。它包含块的原子标识。一个街区 ID包含2个参数: 1. hash:区块的hash。 2. number:块的 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 转账场景中,网络首先消耗 交易发起方冻结TRX获得的带宽积分。如果这还不够,那么 每天消耗5000个免费带宽点。如果这还不够,那么网络 消耗交易发起者的TRX。金额按字节数计算 交易额乘以 10 SUN。因此,对于大多数不一定会冻结的 TRX 持有者来说 自己的TRX参与SR投票,第一步会自动跳过(因为TRX余额 freeze = 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 虚拟机(TVM)是一个轻量级的、图灵完备的虚拟机,为 TRON 的生态系统。其目标是提供一个高效、定制的 blockchain 系统。 方便、稳定、安全、可扩展。
TVM 最初从 EVM 分叉出来,可以与现有的 Solidity smart contract 无缝连接 11 发展生态系统。基于此,TVM还支持DPoS共识。
TVM 采用能量的概念。与 EVM 上的 Gas 机制不同, TVM 上的交易和 smart contract 是免费的,不消耗 TRX。技术上可行 TVM的计算能力不受tokens总持有量的限制。 6.2 工作流程
编译器首先将 Solidity smart contract 转换为可读且可执行的字节码 TVM。然后TVM通过opcode处理数据,相当于操作逻辑 基于堆栈的有限状态机。最后,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,未来将兼容更多主流VM。 因此,EVM 上的所有 smart contract 都可以在 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 是一种以数字方式验证合同协商的协议。他们定义规则并 与协议相关的处罚,并自动执行这些义务。聪明的 合同代码促进、验证和强制执行协议或协议的谈判或履行 交易。从 token 化的角度来看,smart contract 也有利于自动资金 参与方之间的转移应满足某些标准。
TRON smart contract 是用 Solidity 语言编写的。一旦编写并测试,它们就可以 编译为字节码,然后部署到 TRON 虚拟机的 TRON 网络上。曾经 部署后,可以通过合约地址查询smart contract。合同申请 二进制接口(ABI)显示了合约的调用函数,用于与合约进行交互 网络。 7.2 能量模型
部署和触发 smart contract 的最大能量限制是几个函数的函数 变量:
● 冻结1 TRX的动态能量为50,000,000,000(总能量限制)/(总能量 重量) ● 能量限额是账户每天冻结TRX的能量限额 ● 每日账户冻结TRX剩余能量计算为Energy Limit - Energy 二手 ● TRX 的费用限制在 smart contract 部署/触发调用中设置 ● 账户剩余可用TRX ● 如果直接购买,每个 TRX 的能量(10 SUN = 1 能量)= 100,000,SR 可以投票 调整
有两种消耗场景可以计算部署的最大能量限制和
触发。逻辑可以表达如下:
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 是源代码的加密指纹,用于验证。部署情况 字节码运行构造函数并设置初始存储变量。部署情况 code 还计算合约代码并将其返回给 TVM。 ABI 是一个 JSON 文件, 描述 TRON smart contract 的功能。该文件定义了函数名称、它们的可支付性、 函数返回值及其状态可变性。 7.4 触发功能
一旦部署了 TRON smart contract,它们的功能就可以通过以下方式单独触发: TronStudio 或通过 API 调用。状态改变功能需要能量,而只读功能 无需能量即可执行。 7.5 TRON 坚固性
TRON Solidity 是 Ethereum Solidity 语言的分支。 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网络中,每个账户可以发行tokens,费用为1024 TRX。要发行 tokens, 发行人需要指定token名称、总资本、与TRX的汇率、 流通时长、描述、网站、每个账户最大带宽消耗、总计 带宽消耗和 token 冻结量。每个token发行还可以配置 每个账户每日最大token转账带宽点,全网每日最大 token 转移带宽积分、token 供应总量、锁定时长(天)以及总量 token 已锁定。 8.2 TRC-20 代币
TRC-20 是用于 smart contracts 实现 tokens 的技术标准,由 TRON 虚拟机。它与ERC-20完全兼容。
界面如下:
合约TRC20接口{
函数 totalSupply() 公共 常量 返回 (uint);
函数 balanceOf(地址tokenOwner)公共 常量 返回(uint
平衡);
功能 津贴(地址token所有者,地址支出者)公共 常量
返回(剩余 uint);
函数 传输(地址,uint tokens)public 返回(布尔成功);
函数 批准(地址支出者,uint tokens)公共 返回(bool
成功);
函数 transferFrom(地址来自,地址至,uint tokens)公共
返回(布尔成功);
事件 传输(索引地址,索引地址,uint tokens);
事件 批准(地址索引 tokenOwner,地址索引支出者,uint
tokens); }
从开发人员的角度来看,TRC-10 和 TRC-20 之间存在一些差异。一些 主要区别在于 TRC-10 token 可以通过 API 和 smart contract 访问,而 TRC-20 tokens 允许界面定制,但只能在 smart contracts 内访问。
从成本角度来看,TRC-10 token 的交易费用比
TRC-20,但会承担 API 传输和存款的带宽成本。智能转账和存款
TRC-10 token 的合约会消耗带宽和能源。
8.3 超越
由于 TRON 使用与 Ethereum 相同的 Solidity 版本,因此可以轻松创建更多 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)。每个人都可以投票给 SR 候选人。前 27 名候选人 得票最多的将成为具有生成区块权利和义务的SR。票数为 每 6 小时计算一次,SR 会相应变化。
为了防止恶意攻击,成为 SR 候选者需要付出一定的成本。申请时,9999 TRX将从申请人的账户中销毁。成功后,该账户即可加入SR 选举。 9.1.2 选举
TRON 投票需要Power(记为TP),TP的数量取决于投票者的投票权 冻结资产(TRX)。
TP的计算方法如下:
TP
冻结 1 TRX 以获得带宽
1
=
TRON 网络中的每个帐户都有权为自己的 SR 投票。
发布后(解冻,3天后可用),用户不会有任何冻结的资产,并失去所有 相应地TP。因此,所有投票对于当前和未来的投票轮均无效,除非 TRX再次被冻结投票。
请注意,TRON 网络仅记录最近的投票,这意味着每一次新投票 将否定之前所有的投票。 9.1.3 奖励 a.投票奖励
也称为候选人奖励,前 127 名候选人每轮更新一次(6
小时)将分享开采的 115,200 TRX。奖励将按照投票权重进行瓜分
每位候选人都会收到。每年,候选人的总奖励为168,192,000 TRX。
每轮总投票奖励
为什么每轮 115,200 TRX?
15, 00 TRX
每轮总投票奖励(V R/轮)
1
2
=
VR/轮 = 16 T RX/块 × 20 块/分钟 × 60 分钟/小时 × 6 小时/轮
注意:这是由 WITNESS_STANDBY_ALLOWANCE = 115,200 TRX 设置的。请参阅动态网络参数。
每年总投票奖励
为什么每年168,192,000 TRX?
168, 192, 000 T RX = 每年总投票奖励(VR/年)
VR/年 = 115, 200 T RX/轮 × 4 轮/天 × 365 天/年
b.区块奖励
也称为超级代表奖励,当选的前27名候选人(SR)
每轮(6小时)将分享大约230,400个已开采的TRX。奖励将平分
27 个 SR 之间(减去由于网络错误而错过的总奖励块)。总共有
每年将向 27 名 SR 奖励 336,384,000 TRX。
每轮总区块奖励
为什么每轮 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/年)
BR/年 = 230, 400 T RX/轮 × 4 轮/天 × 365 天/年
2021 年 1 月 1 日
2021 年 1 月 1 日之前 TRON 网络不会出现通货膨胀,TRON DAO 将
在此日期之前授予所有区块奖励和候选人奖励。
c.奖励计算
SR奖励计算
总奖励
投票奖励(VR)
区块奖励(BR)
t
=
+
右
总VR
V
=
×
总票数
SR 候选人收到的票数
右
块错过了
2
乙
=
27 号
总BR -
× 3
注:奖励按每轮(6小时)SR计算
排名28~排名127 SR候选人奖励计算 总奖励 投票奖励(VR) t =
右
总VR
V
=
×
总票数
SR 候选人收到的票数
注:奖励按每个SR候选人每轮(6小时)计算
9.2 委员会
9.2.1 概述
该委员会用于修改TRON动态网络参数,例如区块生成
奖励、交易费用等。委员会由本轮27名SR组成。每个SR
拥有提案权和对提案的表决权。当一项提案获得 19 票或以上时,
批准后,新的网络参数将在下一个维护周期(3天)内应用。
9.2.2 动态网络参数
0。
MAINTENANCE_TIME_INTERVAL
a.
描述
修改维护间隔时间(以毫秒为单位)。称为 SR 投票间隔时间
圆形。
b.
示例
[6 * 3600 * 1000] 毫秒 - 即 6 小时。
c.
范围
[3271000, 2436001000] 毫秒
1.
ACCOUNT_UPGRADE_COST
a.
描述
修改申请SR账户的费用。
b.
示例
[9,999,000,000] SUN - 即 9,999 TRX。
c.
范围
[0,100 000 000 000 000 000] 太阳
2.
CREATE_ACCOUNT_FEE
a.
描述
修改账户创建费用。b.
示例
[100,000] SUN - 1 TRX。
c.
范围
[0,100 000 000 000 000 000] 太阳
3.
交易费
a.
描述
修改用于获得额外带宽的费用金额。
b.
示例
[10] 太阳/字节。
c.
范围
[0,100 000 000 000 000 000] SUN/字节
4.
ASSET_ISSUE_FEE
a.
描述
修改资产发行费用。
b.
示例
[1024,000,000] SUN - 即 1024 TRX。
c.
范围
[0,100 000 000 000 000 000] 太阳
5.
WITNESS_PAY_PER_BLOCK
a.
描述
修改SR区块生成奖励。称为单位区块奖励。
b.
示例
[32,000,000] SUN - 即 32 TRX。
c.
范围
[0,100 000 000 000 000 000] 太阳
6.
WITNESS_STANDBY_ALLOWANCE
a.
描述
修改前127名SR候选人的奖励。称为总投票奖励
每轮。
b.
示例
[115,200,000,000] SUN - 115,200 TRX。
c.
范围
[0,100 000 000 000 000 000] 太阳
7.
CREATE_NEW_ACCOUNT_FEE_IN_SYSTEM_CONTRACT
a.
描述
修改帐户创建成本。结合动态网络参数#8得到
帐户创建总成本:
REATE_NEW_ACCOUNT_FEE_IN_SYSTEM_CONTRACT
REATE_NEW_ACCOUNT_BANDWIDTH_RATE
C
× C
b. 示例 [0] 周日。 c. 范围 [0,100 000 000 000 000 000] 太阳 8. CREATE_NEW_ACCOUNT_BANDWIDTH_RATE
a.
描述
修改帐户创建成本。结合动态网络参数#7得到
帐户创建总成本:
REATE_NEW_ACCOUNT_FEE_IN_SYSTEM_CONTRACT
REATE_NEW_ACCOUNT_BANDWIDTH_RATE
C
× C
b. 示例 [1]。 c. 范围 [0,100,000,000,000,000,000] 9. 允许创建合同 a. 描述 打开 Tron 虚拟机 (TVM)。 b. 示例 True - 设置为自 10/10/2018 23:47 UTC 起激活并生效。 c. 范围 对/错 10. 删除_THE_POWER_OF_THE_GR a. 描述 删除最初的 GR 创世投票 b. 示例 正确 - 于 11/4/2018 08:46 UTC 生效。 c. 范围 True/False - 注意:不能从 True 设置回 False。 11.能源费 a. 描述 修改1能量的费用。 b. 示例 20 日。 c. 范围 [0,100 000 000 000 000 000] 太阳 12. EXCHANGE_CREATE_FEE a. 描述 修改交易对创建成本。称为创建贸易订单的成本。 b. 示例 [1,024,000,000] SUN - 即 1024 TRX。 c. 范围 [0,100 000 000 000 000 000] 太阳 13. MAX_CPU_TIME_OF_ONE_TX a. 描述 修改一笔交易的最大执行时间。称为超时限制 一笔交易。 b. 示例 50 毫秒 c. 范围
[0, 1000] 毫秒
14.ALLOW_UPDATE_ACCOUNT_NAME
a.
描述
修改选项以让帐户更新其帐户名。
b.
示例
False - 可从 java-tron Odyssey v3.2 中提出。
c.
范围
True/False - 注意:不能从 True 设置回 False。
15.ALLOW_SAME_TOKEN_NAME
a.
描述
修改允许不同token有重复名称的验证。
b.
示例
False - 可从 java-tron Odyssey v3.2 中提出。
c.
范围
True/False - 注意:不能从 True 设置回 False。
16. ALLOW_DELEGATE_RESOURCE
a.
描述
修改允许签发 token 重名的验证,这样
token 的 tokenID,在长整数数据类型中,将是唯一的原子
token 的标识。
b.
示例
False - 可从 java-tron Odyssey v3.2 中提出。
c.
范围
True/False - 注意:不能从 True 设置回 False。
17. TOTAL_ENERGY_LIMIT
a.
描述
修改全网总能量限制。
b.
示例
[50,000,000,000,000,000] SUN - 即 50,000,000,000 TRX。
c.
范围
[0,100,000,000,000,000,000] 太阳
18. ALLOW_TVM_TRANSFER_TRC10
a.
描述
允许在 smart contract 秒内传输 TRC-10 token。
ALLOW_UPDATE_ACCOUNT_NAME、ALLOW_SAME_TOKEN_NAME、
ALLOW_DELEGATE_RESOURCE 提案必须在提案前全部获得批准
这个参数改变。
b.
示例
False - 可从 java-tron Odyssey v3.2 中提出。
c.
范围
True/False - 注意:不能从 True 设置回 False。9.2.3 创建提案
只有 SR 账户才有权提议更改动态网络参数。 9.2.4 投票提案
只有委员会成员 (SR) 才能对提案进行投票,未及时投票的成员 将被视为不同意。提案创建后 3 天内有效。投票可以 在 3 天的投票窗口内可以更改或检索。期限结束后,该提案将 要么成功(19票以上),要么失败(结束)。 9.2.5 取消提案
提案人可以在提案生效前取消提案。 9.3 结构
SR 是新生成区块的见证人。见证人包含8个参数:
1.
地址:该证人的地址 – 例如0xu82h…7237。
2.
voteCount:收到的对该见证人的投票数 – 例如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 voteCount = 2;
字节 pubKey = 3;
字符串 url = 4;
int64 总生产量 = 5;
int64 总丢失数 = 6;
int64latestBlockNum = 7;
布尔 isJobs = 8;
}
10.DApp开发 10.1 API
TRON 网络提供了 60 多个 HTTP API 网关的广泛选择,用于与 通过完整节点和 Solidity 节点的网络。此外,TronWeb 是一个综合性的 JavaScript 库 包含使开发人员能够部署 smart contracts 的 API 函数,更改 blockchain 状态、查询 blockchain 和合约信息、在 DEX 上进行交易等等。这些API 网关可以定向到本地私有网、Shasta 测试网或 TRON 主网。
10.2 网络
TRON 既有 Shasta 测试网又有主网。开发人员可以通过以下方式连接到网络
部署节点、通过 TronStudio 交互或通过 TronGrid 服务使用 API。特隆网格
服务由托管在全球 AWS 服务器上的负载均衡节点集群组成。作为DApp
开发规模扩大,API 调用量增加,TronGrid 成功应对了
API 流量。
10.3 工具
TRON 提供了一套开发工具,使开发人员能够创建创新的 DApp。
TronBox 是一个允许开发人员通过 TronWeb 测试和部署 smart contracts 的框架
API。 TronGrid 是一个负载平衡和托管的 API 服务,允许开发人员访问
TRON 网络无需运行自己的节点。 TronGrid 提供对 Shasta 的访问
测试网以及 TRON 主网。 TronStudio是一个综合性的集成开发
使开发人员能够编译、部署和调试 Solidity smart 的环境 (IDE)
合同。 TronStudio 包含一个内部完整节点,可创建私有本地环境
smart contract 在部署之前进行测试。 TronWeb API 库将开发人员连接到
网络通过封装在 JavaScript 中的多种 HTTP API 调用进行选择。
10.4 资源
TRON 开发人员中心是一个综合性 API 文档网站,专为 12 希望在 TRON 网络上进行开发的开发人员。开发者中心提供了高水平的 TRON 的概念性理解,并引导用户完成与 TRON 交互的细节 12 开发者中心:https://developers.tron.network/
网络。该指南引导开发人员完成节点设置、部署以及与智能交互
合约、API 交互和实现、构建示例 DApp 以及使用每个
开发者工具。此外,还可以通过 Discord 获得开发者社区渠道。
13
13 不和谐:https://discordapp.com/invite/GsRgsTD
- 结论
TRON 是一个可扩展的 blockchain 解决方案,采用创新方法来解决 传统 blockchain 网络面临的挑战。每日交易量已超过 200 万笔, 拥有超过 70 万个 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 مكن المجتمع من إنشاء شبكة لامركزية وديمقراطية.