Yak Jun Xiang has been around City of Zion (CoZ) as long as there has been a City of Zion to belong to. Known as @snowypowers or “Snowy” on the NEO Discord, he has become a valuable member of CoZ, and is the maintainer of the neon-js project.
Snowy is a Computer Science graduate from the Singapore University of Technology and Design, who now works in California as a software engineer. Upon graduation, he went looking for “something cool to build in C#” and came across Antshares. Intrigued by the project, Snowy began reading the code and was on hand when the community decided to take it upon themselves to translate the documentation.
“I was just hanging around in the old Slack and they needed people who could read Chinese and English, so I volunteered to translate the whitepaper.”
That translation work turned out to be the very first City of Zion project. On June 29th, 2017, Fabio Canesin created a pull request on the NEO GitHub for the initial English translation of the NEO docs, featuring contributions from Snowy and four others. NEO was so impressed with what the community had accomplished, it sent a reward to Fabio to distribute to the translators, planting the seed for what would soon grow into City of Zion.
In those early days, contributors like Snowy helped accelerate the growth of NEO. Having the documentation available in English made the project more accessible for the developers who followed.
Whilst Snowy has explored other blockchain projects like Ethereum on a conceptual level, NEO is the only blockchain he has worked with in a meaningful way. The thrill of being a part of that ground zero community effort was a motivating factor for Snowy’s continued involvement in the NEO project.
“I think it’s really interesting to see how the grassroots community can grow and expand by itself, and being part of the initial wave is exciting. It’s also a great experience mingling with devs worldwide and seeing the different opinions from different development backgrounds.”
Another very early City of Zion project was the Neon Wallet, which was initiated by City of Zion and Neon Exchange co-founder, Ethan Fast. Snowy remembers, “Accessibility for NEO was the top issue at that time because, one, NEO-GUI was Windows only, and two, the web wallet was horrible. So Neon Wallet’s objective was to be the crossplatform light wallet that is simple to use.”
Snowy joined the Neon Wallet effort around the time of the Red Pulse token sale. Alongside Ethan and Tom Saunders, Snowy helped to write the code that would allow users to participate in NEO’s first ever token sale. Whilst Snowy still contributes to the Neon Wallet project, he found his home with neon-js, a related project that was also started by Ethan at the same time as the Neon Wallet.
Neon-js is a JavaScript library that allows applications to interact with the NEO blockchain. Whilst developers have their choice of smart contract languages, such as C# or Python, anyone developing a web application will fall back on JavaScript. If you have used a NEO web application, there is a very high probability it is using neon-js to connect to the NEO blockchain. When introducing neon-js to developers, it is often described as the NEO equivalent of Web3 for Ethereum.
As such, neon-js has become a core piece of the NEO development ecosystem. When asked about Snowy’s contributions, Ethan was quick to acknowledge that despite the fact he began the project, it has really been Snowy who made neon-js what it is today.
“Yeah, I did start neon-js at the very beginning, but Snowy picked it up and has done amazing things with it. He refactored all of the original code into much cleaner abstractions, added many new features, and came up with the API it has today. In particular, you can thank Snowy for all the smart contract interaction logic in the library. People are using neon-js all over the ecosystem — really any NEO dApp uses it — so it’s hard to overstate the the impact his work has had.”
The neon-js SDK has been crafted with both beginners and experts in mind. Though few outside the development community are probably aware of its existence, neon-js is one of the most widely used pieces of software to come out of City of Zion. Not one to rest on his laurels, Snowy continues to improve upon the project.
“Right now im working on v4, which is a transition towards a mono repo style and to using TypeScript as the main language. The mono repository style will allow me to develop plugins in hand with the main neon-js package (for example, extracting the Ledger code from neon-wallet and making it a standalone package). TypeScript makes development a lot smoother with strong and consistent typings, making it easier to spot mistakes and understand the logic flow. Once v4 is finished, we can look into all the other mini features like supporting NEP-9, etc.”
As with all City of Zion projects, neon-js is open source and anyone is welcome to contribute. When asked what skills would be required to contribute to neon-js, in true City of Zion fashion, Snowy demonstrated a willingness to share his experience with others.
“JavaScript knowledge would be ideal. I would be more than happy to teach about the workings of the blockchain.”
City of Zion has just celebrated the one year anniversary of that first translation documentation pull request, and having been around since day one, Snowy enjoys being a part of a community where quality work and initiative is rewarded.
“It’s pretty interesting in a work-first environment. It’s exciting getting the weekly rewards, it’s like a weekly paycheck! Everyone’s pretty friendly and open to help out if needed.”
Snowy is part of the City of Zion delegation heading to Shanghai this month to co-ordinate on the neo-sharp sprint. There, City of Zion and NEO Global Development will work together to advance the neo-sharp project in an effort to build a modular core and node implementation for better maintainability, testability, and performance of the NEO blockchain.
Developers who are interested in joining City of Zion and contributing to the NEO blockchain project are encourage to join the NEO Discord and visit the City of Zion GitHub. For those who want to get involved, Snowy had straightforward advice, “We are work-first, so open an issue and start working on a fix. Dont be afraid to ask for help. Look for gaps and fill it.
The NEO Discord can be found at this link.
More information on neon-js can be found on its GitHub and documentation.
Click here to read about neo-go and its creator and project maintainer, Anthony De Meulemeester, or here to read about neo-sharp and its project maintainer, Alex Guba.
More information on City of Zion can be found at the links below.
About The Author: Dean Jeffs
Dean is a digital project manager who has worked extensively with start ups and agencies in the marketing space. Fascinated by the potential applications of blockchain technology, Dean has a passion for realising the new smart economy.
More posts by Dean Jeffs