BLOG August 12, 2020
Neo Monthly Report - July 2020
Highlights
Neo followed the announcement of its involvement with the InterWork Alliance in June with a partnership with the Blockchain-based Service Network (BSN) in July. The BSN is part of China’s national initiative designed to boost the integration and adoption of blockchain in enterprise, small business, and local government. Neo is among the first batch of public blockchain platforms to partner with BSN and aims to become one of the technological pillars of the service network.
The BSN will feature on demand Neo node deployment for both MainNet and TestNet, promising a “high-performance and high-availability Neo node service environment.” It will also provide front-end systems with access to nodes and Neo SDKs for a convenient developer experience.
As some parts of the world seek to return to life in a new normal, Neo has been able to restart some of its marketing efforts. Da Hongfei attended his first in-person conference of the year, delivering a keynote speech at the 2nd Chain Plus Blockchain New Finance Summit 2020 in Shanghai. Neo also participated in a range of virtual events, such as Unitize 2020 and Binance’s Off the Charts third anniversary event.
From a development perspective, work continued on Neo3 and the Preview3 milestone. Key areas of development included the built-in oracle service and preparations for Neo’s cross-chain capabilities. The focus of community development groups remained heavily on infrastructure with teams such as Neo SPCC, COZ, and NEL all making significant progress in the area of Neo3 support.
The full Neo Global Monthly Report for July can be found below:
Protocol Development
Throughout July, Neo core development continued development of the built-in oracle service, investigating the suitability of an asynchronous solution. Work also continued on state root persistence and relay, required to prepare Neo3 for cross-chain applications.
These new features are expected to be merged into the master version in the coming month, alongside the implementation of Neo3's economic model.
Neo3
neo-core
- Removed PolicyContract.Initialize()
- Fixed vote
- Added Exception Message For Contract operation
- Fixed classes related to Neo.SmartContract types so that they are not internal
- Added AppEngine.ValidateCallFlags to be callable by subclasses
- Fixed VerifyWitnesses
- Workflows: use checkout action v2
- Optimized transaction attributes
- Fixed protocol.json
- Added length before compression data
- Added cache to native contract executions
- Added EffectiveVoterTurnout
- Captured fault Exception
- Fixed UT
- Removed the lock from SendersFeeMonitor and rename it to TransactionVerificationContext
- Removed AllowedTriggers from SYSCALLs
- Checked witnesses on isStandard
- Sender from signers
- Changed nef checksum to double SHA256
- Speed up the initialization of ApplicationEngine
- Created KeyBuilder for native contracts
- Added MaxVerificationGas
- Replaced DataCache.Find by DataCache.Seek
- Ensured non predictable peers
- Changed json fields to all lower case for consistency
- Moved NEP10 to manifest
- Neox
- Merge master
- Relay when state root version upgrade
- Changes in Ledger
- Network
- Persistence
- Consensus
neo-vm
- Removed extra step from TRYCATCH test
- Workflows: use checkout action v2
- Allowed sharing ReferenceCounter between engines
- Captured FAULT exception
neo-node
- Improved Show pool command
- Included optional "from" in send and transfer commands
- Get innerException message recursively
- Workflows: use checkout action v2
- Updated protocol.json
- Applied signers
- Show invocation error
- Updated neo nuget
- Fixed invoke command
neo-modules
- Added Utility.StackItemFromJson
- Updated RpcClient
- Updated InvokeFunction
- Solved workflow conflict
- Fixed main.yml
- Fixed db.Seek
- Created main.yml
- Updated signers for invokefunction and invokescript
- Updated IStorageProvider
- Updated nuget
- Fixed seek
- Fixed add signature in invokefunction and invokescript
- Replaced db.Find by db.Seek
- Changed json fields to all lower case for consistency
- Added a generic GetUnclaimedGas() in RpcClient
- Added EventName to NotifyEventArgs
- Added plugin desc and fix ut
- Added BloomFilter to levelDB
neo-devpack-dotnet
- Added debug info support
- Added event name, callback support and base64 syscalls
- Added byte.AsString and Map UTs
- Ensure a valid return type
- Isolated TestEngine to support .nef files (with manifest)
- Added method to convert from byte array to bigInteger
- Updated Neo version to 958
- Added comment in Nep5 Template
- Changed ABI and Manifest To lower case
- Fixed static StorageMap
- Moved Nep10 to Manifest
- Workflows: use checkout action v2
- Some optimizations with HashSet
- Added ContractCall and UTs, delete Appcall
- Unified template compilations and check by FullName
Neo2
- Added UTXO transfer records tracking function (master-2x)
- Neox-2.x
- Use snapshot.clone for OnPersist
- Fixed StateRoot sync issues on neox 2.x
- Fixed StateRoot index check
Infrastructure and Tools Development
Community development teams spent July preparing tools and infrastructure to meet the needs of developers looking to build applications on Neo.
Neo SPCC pushed a number of public releases related to NeoFS, including DevEnv, a replacement for neofs-local, along with WIP releases of the storage/inner-ring node and NeoFS tech spec. The team also updated the neo-go workshop and benchmark tool to be compatible with Neo3, including several post-Preview2 changes such as exception handling in the VM.
COZ noted that its universal VM implementation is now compatible with the Preview3 release, and has begun work to bring its Javascript and Python SDKs forward to work with Neo3. Work is also underway to revamp the Neoscan explorer, currently undergoing internal testing.
Likewise, other development groups have also prioritized adapting resources to work with the latest Neo3 version. Neow3j released a Preview2-compatible Java devpack and compiler, with analysis on changes required for Preview3 underway, and NEL has continued to improve Neo3 support in its NeoRay contract development suite.
NGD Seattle
Developer Experience Product Development
- Neo Toolkit for Neo3 Preview3 will be released early August
- As a collaboration with IWA, Visual Token Designer Preview has been released in the Visual Studio Code Marketplace
Events and Partnership
- Participated in Binance “Off the Charts!” Virtual Conference, attended the panel discussion on dBFT leadership.
- InterWork Alliance Sustainability Working Group launched with Neo tools enabling implementation.
Neo Saint Petersburg Competence Centre
NeoFS
- Public release of NeoFS DevEnv (substitute for neofs-local)
- Public release of NeoFS node (Storage, Inner Ring)(wip)
- Public release of NeoFS Tech Spec (wip)
- First public source code released
- Major NeoFS API rework (better C# compatibility)
- Development moved to public GitHub
- ACL test cases added to testsuite
- S3 Gate Auth scheme implementation (S3 API v4 compatible)
- S3 Gate public release preparations
- HTTP Gate refactoring for adding R/W support
NeoGo
- Updated neo-go workshop to Neo3
- Updated neo-bench to Neo3
- Released neo-go 0.90.0, the first release fully compatible with Neo3 Preview2
- NEP5 balance tracking was fixed in 2.x branch, state mismatch bug (#1158)
- Fixed getnep5transfers for migrated contracts (#1215)
- Added Secp256k1 curve support
- Interops for post-preview2 changes
- p2p protocol post-preview2 changes
- Exceptions in VM
- Port MPT from 2.x branch
- Implement System.Callback.* interops
- Neo3 Prevew2 fullnode/CN (NeoGo v0.90.x)
COZ
Neoscan
- Completed first internal release of new build
- Closed out a number of issues on the front end build
- Incorporated network toggle
- Resolved storage usage issue
- Began work on data visualization features
- Migrated platform to EC2
Neon.js
- Began cleaning up documentation for Neo3
Universal VM
- VM is now ready up to Preview3
Mamba
- Renamed project from neo-python to Mamba. Mamba and Boa will become tools within the Neo Python Suite.
- Rebranded documentation
- Fixed a double free error
- Resolved build errors in CI
Boa
- Added support for the debug file of the neo-debugger
- Continued development on list manipulation
- Resolved a neo2-boa issue with Python 3.8 regarding ABI generation
NeoResearch
MILP Models
- Improved mathematical modeling for consensus using MILP.
Publications
- Published a paper in Future Internet MDPI journal: “Challenges of PBFT-Inspired Consensus for Blockchain and Enhancements over Neo dBFT”.
NEO-ONE
NEO•ONE
- Released NEO•ONE 2.7. More details here.
- Added support for compiler to output raw “AVM” file (Neo2)
- Fixed switch-statement execution
- Fixed number mismatches in SetStorage, ArrayStorage and MapStorage
- Updated React-static portion of NEO•ONE website
- Updated TS to v3.9
- Fixed TS configurations
- Updated network docs and CLI exports
- Added types dependency check
- Fixed 'receive' invocations when relaying transactions to a live network
- Fixed problem with TS migration file
- Added ‘Codebase Overview’ documentation
Red4Sec
Neo-resilience
- Optimized tests, reduced test time from 50 to 30 minutes
- Now each test creates a new blockchain from scratch, improving the testing environment
- Updated new wallets and database to match new formats
- Small updates to work with latest Neo3 changes
NEXT
NeoLine mobile
Android
- Completed new version reconstruction
- GAS sync/claim experience optimization
iOS
- New carousel UI on Discover page
- GAS sync/claim experience optimization
- Transfer logic optimization
- Overall application architecture optimization and performance optimizations
NeoLine Server
- Completed new version reconstruction
- Multiple optimization of logical details
Block Browser
- Increased data display of daily transaction volume
- Enriched page content
NeoLine chrome extension
- Completed support of Switcheo Exchange
- Repaired invokeMulti dAPI
NewEconoLabs
NeoRay
- Added the example of map, struct and domain to contract template for NeoRay Neo3 version.
- Added automatic compilation function to NeoRay Neo3 version, which will automatically compile the contract with the latest version of the compiler when importing contract files, loading contract hashes, and switching contract codes.
- Fixed the bug where code updates won’t be triggered when importing the same contract file.
NelScan
- Maintained the operation of Scan API and fixed data abnormality
neow3j
Neo3 Adaptations
- Restructured deserialization of StackItem and subclasses using Jackson annotations
- Implemented Policy Contract support
- Refactored and tested NEP-5 Token transfer to support full wallet access
- Evaluated potential integration with Neo blockchain toolkit in VSCode
neow3j-devpack & neow3j-compiler
- Released version 3.1.0
Event
Tutorial presented at the Summer School entitled "Deep Dive into Blockchain–Linking Economics, Technology and Law" at University of Zurich, Switzerland. In the final assignment, 1/3 of the student groups picked the Neo blockchain to develop dApps.
Alienworks
Monitor: neonodes.io
- Added header and footer
- Validated and fix data in statistics page
- Upgraded signalr package
- Speed up searching function for api matrix page
- Refactored main page and use new map
- Fixed 2 remained errors
- Refactored mock mode and completed mock tests
Tutorial
- Refactored and updated YAML parts of c# and typescript lessons
- Added an overview to all lessons
- Fixed CourseList page
- Fixed progress bar in course page
- Added vuebar to Index page
- Used localstorage to cache progress
Marketing and Operations
July was an exciting month for the NGD Marketing team. After the launch of the InterWork Alliance alongside Microsoft, Accenture, Digital Asset, and SDX to advance the global standards for digital assets in June, Neo joined the Blockchain-based Service Network (BSN) as one of its first public blockchain partners, to further accelerate blockchain innovation by greatly reducing the cost of deploying blockchain applications while speeding up large-scale blockchain applications. Both mainstream and blockchain media all over the world have responded with strong interest towards these developments.
Since the resumption of operations from the COVID-19 impact, the marketing team has been gradually ramping up Neo's online and offline presence by attending and organizing events to share latest development and industry insights by enhancing community communication. In July, Da Hongfei and John deVadoss delivered keynote speeches at prominent online and offline conferences globally to offer insights into the overall blockchain industry, technical trends, and the development of DeFi. Moreover, the marketing team also restarted online activities to promote leading community projects. Two of them - Switcheo and Neoline - have driven community buzz by further synchronizing with community needs while working with the marketing team to amplify their voice through online campaigns.
August will be another month to look out for. We will be releasing Neo3 Preview3 with abundant enhancements and optimizations, as well as the implementation of Neo3's governance committee mechanism. On the other hand, we are also laying out Neo's plan for DeFi by setting up some main components such as digital assets, trading, and stable coins. Stay tuned to keep updated on these developments and more in August!
-- Yuan Gao, NGD Marketing Director
- July 4th , Da Hongfei delivered a keynote speech at the 2nd Chain Plus Blockchain New Finance Summit 2020 in Shanghai.
- July 6th, Da Hongfei delivered a keynote speech titled “Blockchain: Fabric of Next-gen Internet” at Unitize 2020 organized by SFBW and Blockshow.
- July 9th, Neo released another Neo Insights infographic, comparing popular decentralized storage solutions.
- July 14th, Da Hongfei and John deVadoss participated in panel discussions at the Binance Off the Charts Virtual Conference, celebrating the 3rd Anniversary of Binance. Hongfei joined a panel titled “The future of public chains and adoption of blockchain applications” and shared his views regarding DeFi and the future of blockchains. John joined a panel titled “Future of consensus: Will PoS dominate?”
- July 21st, Neo announced a partnership with the Blockchain-based Services Network (BSN) — a global infrastructure aimed at building a digital economy by providing a low-cost platform for blockchain projects and companies alike. As one of the first public blockchains supported by the network, Neo will work with BSN to accelerate and realize blockchain innovation and mass adoption.
- July 24th, Neoline co-founder, Hactrox, and Switcheo CCO, Jack Yeu, joined Neo Live on WeChat to share details of the latest collaboration between the two projects as well as their vision of DeFi within the Neo ecosystem.
- July 28th, NGD EcoGrowth Director, John Wang, attended an AMA session hosted by Crypto.com on Telegram and shared insights about Neo’s partnership with IWA and BSN, as well as latest developments within the Neo ecosystem.
- July 29th, Neo joined the InterWork Alliance’s Sustainability Business Working Group, which will focus on tokenization for greenhouse gases/carbon emissions and offsets through possible standards and a trusted certification program.
- July 30th, NGD development researcher Yuyang Su joined Neo Live on WeChat and shared highlights and latest developments of decentralized storage solutions with the Chinese community.
Ecosystem Growth
In July, the Neo ecosystem made new progress in the NFT space, with Ghostmarket supporting the display and trading of NFTs from both Neo and Phantasma, while integrating Neo wallets such as O3 and NeoLine. We also welcomed two new ecosystem partners: decentralized storage infrastructure platform, ThreeFold, and staking wallet, Moonstake.
As trading volume is picking up quickly on DEXs, Switcheo is set to launch TradeHub on the 12th of August, enabling SWTH staking. Switcheo has also launched its Chinese community operations in July, headed by its WeChat official account “Switcheo Fans.”
On the other hand, Neo has been constantly reaching out to global educational institutions for greater ecosystem building. Last month, Neo completed the Summer School program “Deep Dive into Blockchain” at the University of Zurich in July, which attracted around 100 students to brainstorm and develop applications using Neo’s technology.
--John Wang, NGD Ecosystem Growth Director
- July 3rd - 6th, Gold-backed tokenization platform Novem Gold, held an AMA session on Neo’s Reddit, to answer various community questions regarding its platform.
- July 7th, Neo partnered with decentralized storage infrastructure platform ThreeFold, who is now supporting the deployment of Neo nodes.
- July 13th, PubNooks (previously Narrative) announced it had re-started its product development, which was put on hold due to the Covid-19 pandemic.
- July 14th, Neo partnered with KardiaChain to help more Neo-like blockchains to join KardiaChan’s interoperable network.
- July 17th, The Ghostmarket NFT browser and trading platform launched with support for the display and trading of NFTs on Neo and Phantasma. The platform has also integrated Neo wallets.
- July 21st, Switcheo announced support for the NeoLine browser extension. Switcheo also extended its community operations to the Chinese community with the launch of its WeChat official account “Neo Fans” in July. In addition, Switcheo provided a sneak peak of the upcoming Tradehub and SWTH staking mechanism.
- July 22nd, Neo partnered with Moonstake. Moonstake will support staking of NEO and will collaborate with Neo to develop the blockchain ecosystem and community in Asia.
- July 22nd, Neo completed the Summer School program “Deep Dive into Blockchain” at the University of Zurich in July. Around 100 students attended the course online and accomplished a series of innovative dApp brainstorming and development using Neo’s technology.
- July 28th, Huobi launched NEO perpetual swap while Crypto.com listed NEO on its platform on the same day. Both platforms launched a series of promotional campaigns.
- Neo-based typing skill training platform TypeEarn is ramping up development and will launch to the public soon.