Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable shipping preview releases of NCCS #719

Open
devhawk opened this issue Mar 7, 2022 · 1 comment
Open

Enable shipping preview releases of NCCS #719

devhawk opened this issue Mar 7, 2022 · 1 comment

Comments

@devhawk
Copy link
Contributor

devhawk commented Mar 7, 2022

The Neo Smart Contract Debugger just merged a significant update into master. This update will provide a significantly improved experience for developers by automatically deserializing storage keys and items.

For this initial update, the update experience is driven by a hand-authored JSON file that describes the structure of the storage items and keys (example). While this hand-written JSON allowed the initial experience to be implemented, it would be much better for developers if this schema information could be generated automatically from code and included in the debug info.

I'm working on changes to NCCS and the SmartContract Framework in my own forked repository. Of course, I plan to submit these changes back into the main repository via PR when they are ready to be merged.

However, it would be useful if I could ship preview versions of NCCS & SmartContract Framework that are compatible with the updated debugger. VSCode recently added support for pre-release extensions. The Neo debugger is now shipping pre-releases out of the master branch. The updated debugger with schematized view of storage keys and items was shipped as a pre-release on March 7th. If we could do something similar for NCCS & SmartContract Framework, we could enable developer to opt-in to the new debugger experience automatically using a preview version of the tools without having to hand-write JSON. Feedback from developers opting-in to the new debugger + tools would also provide valuable feedback while the updated experience is still in development.

My plan is to bump the version prefix in my fork of devpack-dotnet to 3.1.1000 in order to avoid colliding with any likely-to-be-published version numbers. The versions of preview binary packages would also use a distinctive version suffix such as schema-preview. Binary packages of both NCCS and Smart Contract Framework would NOT be published to nuget.org but rather to a private nuget server such as MyGet or Azure Artifacts. Developers wishing to opt into using the preview would be able to specify a link to the private server via a NuGet.Config file in their project directory - just as existing neo projects including devpack-dotnet use in order to pull CI builds from MyGet.

There's no action items here for the core devpack-dotnet team. I just wanted to write down my plan somewhere folks like @erikzhang and @shargon would see it in case I've missed something with my plan to ship preview builds of NCCS and Smart Contract Framework

@devhawk
Copy link
Contributor Author

devhawk commented Mar 9, 2022

FYI, I'm doing the preview work in the storage-schema-preview branch of my devpack-dotnet fork. I've updated the workflow to use version 3.1.10xx-storage-schema-preview where xx is the number of commits since the v3.1.0 tag commit.

I haven't published any compiled packages yet, but I plan on publishing them to the existing NGD Enterprise Azure Artifacts feed when the time comes. In the mean time, NCCS and SCFX binaries can be downloaded from a github action run

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant