通用库认证（UAL）今年早些时候在EOSIO Lab TM上宣布，它提供了开发者可构建到应用中单一集成和相关的前端组件，目的是支持数个可兼容的验证器。过去开发人员想要在应用中使用某些特定的验证器，他们要一个个集成过去，相比起来，现在这样简单、统一的方法就减少了开发时间。同时，这样的方法还给基于EOSIO的应用的终端用户提供了更加无缝和统一的用户体验，提高了整个发展中的区块链应用生态系统的可用性。UAL让开发者可以提供统一的前端用户体验，让用户可以选择最适合他们需求或个人喜好的验证器。随着通用认证库在整个生态系统中得到使用，UAL库未来会支持更多的验证器
过去，开发者要利用如State History插件这样的官方工具跟踪每个区块的状态变化。除了跟踪区块以外，我们还会继续探索如何让开发者能够更好地控制针对智能合约状态变化的行为审核。这样我们就有可能把审查范围细化到单个交易或动作上，开发者在采用数据聚合器工具的时候就能获得更大的灵活性。除了智能合约中的应用，智能合约外的应用也能获益于开发者收集的这些数字点，他们还能避免相关的逻辑错误。加强数据访问的工具，如State History插件，会提供高效的链上数据的实时访问，而如Demux这样的架构模式让开发者能够把存储和查询卸载到规模化的数据库，如MongoDB，中。
社区一直在努力创建稳定、高效、规模化的EOSIO区块链，我们也会不断提供支持和资源。我们不断给EOSIO战略愿景增加各个层面，在这个关键阶段，我们从研究者、应用开发者、和其他社区成员中获得的反馈就显得至关重要了。这一努力由规范库引导，规范库也是EOSIO Lab TM的一个项目，它能让用户在我们这个不断成长的生态系统中获得更大的增益效果。如果您想参与我们，请阅读我们草拟的规范，并直接在GitHub上提供反馈，同时，我们也会把这些特点加入EOSIO中。
While the EOSIO™ software ecosystem continues to grow, improving the developer experience building on EOSIO is at the forefront of our minds. In the EOSIO Strategic Vision, we identified four central points of focus for a collective approach to platform development; Scalability, Developers, Users, and Enterprises. This article focuses on enhancements for Developers and the tools that help them build.
To ease friction with software deployment our goal is to make the best tools available for developers building on EOSIO. Blockchain system architects need a means to inspect blocks and transactions, streamline compatibility for multiple authenticators, and ways to reliably audit and debug smart contracts. They need test environments and robust documentation to aid in deployment and on-boarding new talent to their organizations. In addition, overall improvements to smart contract searchability and functionality will expand the capabilities of EOSIO blockchain applications.
A smoother experience for developers means a clearer path to building a more robust and diverse blockchain ecosystem that provides users secure applications to fit their needs. Developers make this diverse ecosystem possible, and to help them deliver we’re dedicated to improving their experience on EOSIO. Below are the initiatives we have outlined in the EOSIO Strategic Vision to move EOSIO closer to that goal.
Graphical User Interfaces
Formerly, developers have been relegated to accessing nodeos (the EOSIO blockchain process) via a functional, albeit manual, command line interface. To improve this experience, we’re working on graphical user interfaces (GUIs) that can be utilized to launch nodeos, access block explorers for transaction and block inspection as well as other general development uses. We believe that offering tools with easily accessible user interfaces will provide greater flexibility and improve efficiency by allowing multiple developers to work in parallel on a single instance of nodeos. Our recent release of the EOSIO Explorer adds more visual tools into the EOSIO developer experience.
Advancing the Universal Authenticator Library
Announced earlier this year under EOSIO Labs™, Universal Authenticator Library (UAL) provides a single integration and associated front end components for developers to build into their applications to support a number of compatible authenticators. This simple, unified approach not only reduces development time when compared to integrating with each specific authenticator a developer wants to have available in their application, it provides a more seamless and consistent user experience to end users of EOSIO based applications improving usability across the growing ecosystem of blockchain applications. UAL makes it possible for developers to provide a unified front end experience in their application giving users the option to choose an authenticator that best suits their needs or personal preferences. The future of the UAL library will see a wider range of authenticator support as it is adopted across the ecosystem.
EOSIO SDKs for Java and Swift
To better serve a user base across multiple mediums EOSIO blockchain application developers often take web applications and replicate them for the sake of mobile device interface. Developers can use both the recently released Java and Swift libraries to generate applications in native Android or iOS platforms, providing faster response time, and more finely tuned interfaces on the user end. As we receive feedback and continue to fine tune these SDKs, we will continue to release additional improvements.
Debugging Smart Contracts
Exploration continues to better deliver superior smart contract debugging resources. Promising research is underway on tools that let developers add breakpoints to their smart contract code so that functions can be reviewed in a step-through process during state exploration and auditing. More robust tools available for smart contract development will help developers build more seamless and secure contracts on EOSIO.
The EOSIO Testnet
As options for testing the deployment of smart contracts are limited, our team is working on a testing infrastructure that is integrated with our developer documentation and can guide the user through the process of testing on a testnet. Providing additional documentation as a guide will better onboard new developers to the EOSIO platform and make it easier for existing developers to run testing cycles before deploying their applications into production environments.
Scalable Documentation Platform
While continuous updates are made at a rapid pace to improve many facets of the EOSIO source code, we are working in parallel to streamline our developer portal to provide a more seamless experience in sync with the scale of the EOSIO software codebase. Additionally, to maximize inclusivity in a global development environment we’re exploring multi-lingual support for core updates to documentation to provide a greater degree of support to non-english speaking developers in the ecosystem.
High Resolution State Tracking
In the past, developers tracked state differences on a per-block basis with official tools such as the State History Plugin. Going beyond blocks, we’re continuing to investigate how to give developers more control over behavioral review of smart contract state changes. This would make it possible to refine the scope of review to individual transactions or actions, offering developers greater flexibility with the implementation of data aggregator tools. Developers will be able to gather these data points for applications outside smart contracts and avoid associated logic errors. Tools that enhance data access, like the State History Plugin, provide efficient real-time access to on-chain data while architecture patterns such as Demux allow developers to offload storage and queries to a scalable database like MongoDB.
Enhanced Smart Contract Functionality
Smart contracts need to be able to refer to one another and update their state data without causing clashes. When one smart contract accesses another smart contract’s state data it does so by referring to a corresponding table. When the accessing smart contract refers to another’s table, it incorporates that table’s structure into its code. If the smart contract whose data is being referred to ever makes a change to that table it will create a conflict. To remove this limitation we are testing the viability of enabling smart contracts to use a read-only layer to which other smart contracts can refer so each can update their data structures without any errors.
EOSIO Specification Repository
The community effort towards building stable, efficient, and scalable EOSIO blockchains remains ongoing and we will continue to provide support and resources. We are continuing to implement various facets of the EOSIO Strategic Vision and during this crucial stage the feedback we receive from researchers, application developers, and other members of the community makes an impact. This effort is spearheaded by the Specification Repository, an EOSIO Labs™ initiative to support greater synergy amongst stakeholders in our growing ecosystem. If interested in getting involved, please review the specifications drafted and provide feedback directly in GitHub as we work through the implementation of these features in EOSIO.
The EOSIO platform is expanding both in scope and technology, driven in part by community input. That feedback leads to improvements in previous software releases and assists with forthcoming innovations. While we continue to invent and integrate new solutions we intend to work hand in hand with the community towards a bright future. If you would like to offer feedback and work more closely with our team to improve EOSIO for developers, you can send our developer relations team an email at email@example.com.
We are continuously update our mailing list with future announcements and release notes. Subscribe today on the new EOSIO website.
Important Note: All material is provided subject to this important notice and you must familiarize yourself with its terms. The notice contains important information, limitations, and restrictions relating to our software, publications, trademarks, third-party resources and forward-looking statements. By accessing any of our material, you accept and agree to the terms of the notice.