Weekly Report #23–2017.12.31
City of Zion (CoZ) is a global community of open source enthusiasts, with the shared goal of helping NEO achieve its full potential. CoZ primarily operates through the community Discord and CoZ Github, central places where the community shares knowledge and contributes to projects.
CoZ is neither a corporation, nor a consulting firm or a devshop / for-hire group.
Governance
There is no formal process in joining CoZ. Interested individuals will have to do the work first, and the submitted code has to be licensed under the MIT License. Consistent contributors will become eligible to join the CoZ organization, and begin collaborating on projects. The governance process of this organization can be found here.
Funding
Since its inception, the CoZ Council has been in close contact with the NEO Council. The NEO Council provides support to the community, in the form of NEO rewards, which CoZ redistributes weekly.
For individuals who are interested in financially supporting CoZ development, our donation address is AXSoNQEKjmqPBNPg5cNrHyWivfjok3Vj9D.
For transparency, CoZ Council members are excluded from weekly NEO rewards, and any CoZ competitions. This week, 434 NEO were awarded for the contributions to the NEO ecosystem.
Week in Review
dApp Competition:
Registration for the second CoZ dApp competition opens on 25 January 2018! Learn more on the official website.
Help us attract the amazing talent out there that don’t really know about NEO yet. Please print this poster and spread across the technical Colleges and Universities near you.
Campaigns
Stack Exchange:
We need experienced Stack Exchange users (with more than 200 reputation) that want to be active in our community, to commit to the proposal. You can do so here.
Development Updates
Contributions now follow the new format done together with the CoZ contributors.
neon-js
- Add changes to doInvoke and doMintTokens for rejection during verification
- Added Flow (#102)
- Using byte lengths instead of hexstring lengths (#101)
- Fix integration tests concerning NEP5 token transfers
- Neon-js light wallet wrapper #108
neon-wallet
- Addition of Address Book system
- Updated ledger code for NEP5
- Add support for private net (must be neon db compatible)
- Add support for user defined NEP5 tokens
- QA review for v0.0.8 release.
neo-debugger-tools
- Refactor of smart contract Storage code, and added Storage viewer
- Implemented debugger API for Transaction (Inputs and Outpus), Block and Blockchain
- Merged PR #16 in
neo-debugger-tools
- Big refactor of Debugger code, lots of stuff moved into separate “Emulator” lib
- Improvements to emulation of Storage API (calculation of used space, support for Delete() call)
- Created NEO devshell to interact with smart contracts (running in the NEO emulator)
- Updated readme with information about how to compile and setup the debugger and shell
- Improvement formatting of SC outputs (now besides the previous types, also detects byte arrays that match NEO wallet address format)
neo-python
- Update help prompt message
- Update prompt hinting/autocomplete
- Finished off the last bits of implementation of the
ConsensusContext.py
. - Added serialization code to
ConsensusMessage.py
and some cleaning up. - Hooked up all event handlers to
ConsensusService.py
together with all their handler implementations. - Debugged and fixed initialization code in Block, Blockbase, CoinReference, TransactionAttribute and Witness to assure correct type initalization and return values for other parts of the code.
- Debugged and fixed and issue in
LevelDBBlockchain.py
related to block retrieval. - Updated parts of
NeoNode.py
to closer reflect the latest neo-project code ofRemoteNode.cs
. - Implemented the remaining and majority of
ConsensusPayload.py
+ wrote test cases for it. - Implemented the VerificationContract class.
- Lots of debugging network traffic
- Add
VerificationContract
andIOHelper
update. - Fix
Witness
initialization. - Fix
LevelDBBlockchain.GetBlockHash
- Add
ConsensusPayload
class
neo-swift
- NEP5 Tokens support for NEOSwift.
- Support end-to-end encryption using NEO’s key pair and ECDH in NEOSwift.
neo-gui-wpf
- Using the xUnit platform to create unit tests
- Moved most viewmodel classes to .NET standard Neo.Gui.ViewModels project
- AutoMockContainer
- 29 tests added to HomeViewModelTests
- AssertViewModelTests added
- NEP-6 wallet file support
- Neo and Neo.VM nuget package versions updated
- Change to config.json structure
- Modifications to WalletController and view model classes to fix breaking changes from Neo/Neo.VM package updates
- Small bug fixes in WalletController
- Moved more view model classes to Neo.Gui.ViewModels project
- Moved transaction generation logic from view model classes to WalletController
- Removed RelayCommand and ViewModelBase implementations and replaced references with implementations from the MvvmLight library
- Cleaned up namespaces
- Refactor in WalletController and CertificateService
- TransactionsViewModelTests added
- PR #100: Cleaned up WalletController and LocalBlockchainController classes
- PR #101: Added NetworkController and BlockchainImporter classes
- PR #102: Separate project for translated string resources
- PR #103: Removed WalletAccount property from AccountItem to help with creating dummy AccountItem instances in unit tests
- PR #104: Removed AssetState property from FirstClassAssetItem class to help with creating dummy AccountItem instances in unit tests
- PR #107: Removed related account combobox control from ImportCustomContractView as it is no longer used in custom contract importing, fixed issue #106
neo-ruby
- Deserialization of raw block data
neo-scan
- Several bug fixes in preparation to be the main API serving NEON wallet in future versions.
neo-java
- NEO-CLI RPC calls 70% (7/10) complete.
- NEON-API RPC calls 25% (1/4) complete.
neo-js
- Node instance variable naming fix
- Text changes in contribution document and PR template
- Fix integration test cases
NeoLink
- Integrate Material Design (and state handling for fields) in views: Send, SendInvoke, TestInvoke, Transactions, Balance, Login, Logout.
- React migration + use latest neon-js from CityOfZion repo
- PR to adjust authorize results and remove buttons on that display.
- Send invoke implementation #21.
- Create NeoLink Website: https://link.neo.tools
neo-privatenet-docker
Several updates to support new versions of neo-cli, bugfixes and integrating NEP-6 wallets. Also documentation updates and a ready-to-use config file for Windows users of neo-gui and neo-developer-gui.
- PR #12 update to neo-cli v2.5.0
- Changed base image to microsoft/dotnet:2.0-runtime, which reduces image size from 2.67GB to 1.35GB.
- PR #13: Update to neo-cli v2.5.2, and refactoring of
docker_build.sh
to make it easier upgrading to new neo-cli versions - Troubleshooting the broken neo-cli >= 2.5.0 (Issue #15, neo-cli issue #69). Cooperation with ashant and fabwa.
- Upgrade of wallets to NEP-6
- PR #16: Upgraded wallets with neo-cli 2.4.1
- PR #18: Upgraded to NEP-6 JSON wallets (using neo-cli 2.5.2), removed old
.db3
wallets - PR #17: specifiy the neo-cli version by just setting one variable in
docker_build.sh
- PR #20: Continuous integration: Test RPC calls
- Review & Support
- PR #14: Improved README for Windows (needed a lot of back and forth)
- PR #11: Windows config files
Videos
“web-app, dapps, token smart contracts, ERC20, NEP5” : NEO 8
Other
- Proposal of continuous integration with Travis CI for the neo-cli project
- https://github.com/metachris/neo-cli/tree/travis-ci
- https://github.com/metachris/neo-cli-ci
- Started work on NEP for non-fungible tokens
On behalf of CoZ council I want to say thank you to our big community for all the work done in this 2017, be it on organization, marketing or development.
The developments made on NEO in 2017 means it can do today:
— micro transactions, you can transfer $0.00000025 (1e-8GAS) for free.
— IoT machine to machine (m2m) transactions.
— Smart Contracts execution at >340tps.
— Have production smart contracts in Python and C# with beta for Java, Kotlin and JavaScript.
2018 is looking to be a very promising year for NEO and CoZ will continue to be focused in helping it achieve its full potential, that is far greater than most realize.
Regards,
Follow CoZ on Facebook, Medium Publication and Twitter for the latest updates on CoZ development!