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.

CoZ is not a regulatory body and take no responsibility for the quality of 3rd party smart contracts deployed on the Neo Blockchain.

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, 160 NEO were awarded for the contributions to the NEO ecosystem.

Week in Review

A note on Decentralization

This has been mentioned informally multiple times, but it is also valuable to have an official statement on the state of decentralization. CoZ is currently running 6 consensus nodes (3 on testnet and 3 on mainnet). The testnet nodes have been voted in, which means testnet has been decentralized (in multiple countries and organizations) for nearly 6 weeks now. Regarding the 3 mainnet nodes, they are staged and have been running for nearly the same amount of time. Because of the sensitivity of this activity, it is important for us to move them to production with a maximum certainty that their are no issues.

Developer Interest

A number of rumors have spread recently about the amount of developer interest in the Neo platform, which will be addressed here. Nine months ago, all of the platform documentation was exclusively available in Chinese (outside the grasp of the global development community). In the time since then, CoZ has expanded to ~50 active contributors with numerous periodic (inactive) ones as well. Likewise, multiple other development groups (NEL and NeoResearch) have also formed around this platform. These groups do not include the large number of contributors on the numerous projects that are being developed on the platform. In nine months, the amount of development interest that the Neo ecosystem has generated is very substantial. With that being said, we are still experiencing a developer shortage to meet CoZ project needs.

Token Registration on Neon Wallet

If you are planning to mint a token on mainnet, it behooves you to reach out to the Neon wallet team a few weeks prior to your token sale to guarantee that the event proceeds smoothly. Integration testing is critical for these types of events.

CoZ APAC

A number of City of Zion contributors are participating in workshops and hackathons on the APAC tour. Feel free to stop by to say hi!

Figure 1: The singapore community listening to Malcolm Lerider present on the Neo ecosystem

Figure 2: The Tokyo workshop hosted by Dean van Dugteren and O3 labs. Can you find the CoZ logo?

Development Updates

Added default skeleton code to C# compiler

Improvements to debugger forms

Added proper timestamps to generated blocks.

Fixed ScriptHashes in Block api for emulator

Re-Added .json support for test cases back to the debugger

Fix for debugger not being ready at load time

Fixed breakpoints in the debugger

added mul, add, div and sub assign for identifiers (x += 2, x -= 2, ..)

struct field initialization

implemented import other packages (imports)

implemented the VM interop storage API (GetContext, get, put, delete)

implemented top level global variables

refactored how to compiler imports other packages + typechecker.

implemented VM interop runtime API

PR to fix prompt.py errors on shutdown

PR to support synchronous wallet rebuilds

Logged a wallet loading bug and tested fix

Added easy CoZ net support with --coznet prompt arg, settings updates, argparser exclusive network group

prompt arg, settings updates, argparser exclusive network group Bugfix for neo/SmartContract/ContractParameterContext

Improved Docker setup and documentation

Replaced byteplay library with bytecode lib PR #39. (This one got merged a few weeks ago but I wasn't aware of the gist posting process yet, sorry).

Added system calls, constants and string handling to compilers.

It’s now possible to compile simple, but useful, smart contracts in Ruby (see Lock example)

implemented “import” and “export” of the chain.acc file.

Still performance tuning NEON-API RPC calls 25% (1/4) complete. (This is apparently very hard to performance tune, takes over 24 hours to load the chain.acc file)

Fixed bug in NEP5.Transfer where “balanceOf” was being called

Output cost check and Transaction type check fixes

Draft of screen Dashboard and Assets view to NEO Universal Wallet

Separated Neo.UI.Core project into multiple projects, e.g. all transaction building code has been moved to a separate project named Neo.UI.Core.Transactions

Added a transaction builder class for issuing assets

Upgraded MvvmLight version to 5.4.1

Abstracted certificate generation out of CertificateRequestViewModel into an injectable service class, moved the view model class into Neo.Gui.ViewModels project. This allows the view models to be tested

Moved claiming and asset deletion transaction building out of WalletController into separate ITransactionBuilder implementations

Changed public methods from IWalletController that are not being used outside WalletController to private

Moved code that requires a local blockchain into LocalBlockchainService, which will be helpful when RemoteBlockchainService is later implemented using an RPC client

Removed dependencies from EdjCase.JsonRpc.Client and implemented a new rpc base object. Now, the rpc project only has a single external dependency: Newtonsoft.Json

Updated Newtonsoft.Json to newest version.

Added a description on README.MD with a simple explanation of the future plans for this repository.

Added a new project “Neo.Base” with the data types used in neo-project.

Update param.value validation logic to accept 0 and empty string

Fix API response declarations

Fixed neoscan.getMaxClaimAmount for invalid addresses.

for invalid addresses. fix(api): neonDB.getRPCEndpoint to use get_all_nodes

fix(api): Fix neoscan getBalance and getClaims for invalid addresses

feat(all): Add Symbol.toStringTag to all classes

feat(wallet): exports for wallet classes

Adapt neon-js in RPC implementation

Added the ability to conditionally remove default close behavior of modals and updated the send transaction modal to leverage this feature.

Rebased master branch into dev .

branch into . hot reload fix.

website assets removal.

escape key modal prevention.

claim action tests.

Fixed passing publicKey to Ledger login action.

to Ledger login action. Updated token sale behavior to clear previously selected asset amounts.

Upgraded neon-js to 3.3.1.

Extension should remember pane + form values after close + reopen

Balance fix which broke with neon-js upgrade + update README a bit

coznet

Many CozNet stress-test sessions with deployments and general support for Red4Sec

Regards,

Follow CoZ on Facebook, Medium Publication and Twitter for the latest updates on CoZ development!