Coder Social home page Coder Social logo

neo-project / neo-blockchain-toolkit Goto Github PK

View Code? Open in Web Editor NEW
31.0 19.0 22.0 1.01 MB

Develop, debug, test, deploy, track and manage Neo Blockchain Smart Contracts

Home Page: https://marketplace.visualstudio.com/items?itemName=ngd-seattle.neo-blockchain-toolkit

License: MIT License

JavaScript 100.00%

neo-blockchain-toolkit's Introduction

Neo Blockchain Toolkit

Build Status

Key Benefits

  • Out-of-the-box : Premium experience with preconfigured toolkit to jump start the development of Smart Contracts
  • One-stop-shop : Proven libraries and practices to rapidly get Smart Contracts into production
  • One-IDE : Built-in real world PrivateNet with frictionless edit-build-debug-deployment enhancements to ensure consistency across PrivateNet, TestNet and MainNet
  • N3 Preview Support: Supports Neo N3 and Neo Legacy

Getting Started

Please see the N3 Tutorials site for quick start videos and real world tutorials on using the latest version of the Neo Blockchain Toolkit.

For developers targeting Neo Legacy, please see the Neo Blockchain Toolkit Quickstart for instructions on setting up the tools and creating your first Neo Legacy smart contract.

Key Components

Neo Smart Contract Debugger

  • Fully integrated Smart Contract debugging experience inside of Visual Studio Code

Neo Express

  • Real-world PrivateNet - enabling complete end-to-end scenarios for Neo 2.x and Neo 3.0, built on top of the Neo MainNet codebase
  • Manage Neo Express for multiple nodes and multiple developers from within Visual Studio Code or using command-line utilities
  • Enhanced operations for developer scenarios. e.g. Snapshot/Rollback/FastForward/Replay etc.

Neo Visual DevTracker

  • Explore public and private Neo blockchains from within Visual Studio Code
  • Transfer assets, claim GAS, deploy and invoke smart contracts on public and private Neo blockchains from withing Visual Studio Code
  • Create and manage Neo Express instances from within Visual Studio Code

NEON Smart Contract Compiler

  • Enhanced Compiler with metadata to map .NET source code to NeoVM byte code and function variables/arguments information etc.
  • Create, Edit, Compile, Debug, Test, and Deploy Smart Contracts on both Neo 2.x and Neo 3.0 from within Visual Studio Code

Smart Contract Templates in .NET languages

  • Friction-free templates and guidance for developer productivity
  • Real-World production quality Smart Contract Development in minutes

Neo-FX Library

  • Unified Programming Model for a consistent and highly productive developer experience spanning remote, node and contract SDKs.
  • Neo-FX will provide a common set of fundamental types (such as large unsigned integers for hash values and elliptic curves for cryptography), domain models (such as blocks and transactions) and service abstractions (such as retrieving a transaction or invoking a smart contract).
  • By using these common set of types across SDKs, developers will be able to move their code between SDKs, ensuring they can run their code in the manner that makes most sense for their blockchain application.

neo-blockchain-toolkit's People

Contributors

dependabot[bot] avatar devhawk avatar djnicholson avatar fabwa avatar m-sekhon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

neo-blockchain-toolkit's Issues

Issue with starting Neo Express instance

I have following error when trying to start Neo Express.

The terminal process "/usr/local/share/dotnet/dotnet '/Users/ljozwik/.vscode/extensions/ngd-seattle.neo3-visual-tracker-2.0.18/deps/nxp/tools/net5.0/any/neoxp.dll', 'run', '-i', '/Users/ljozwik/Code/neo/neo-cli-consensus/Untitled.neo-express', '-s', '15', '0'" terminated with exit code: 1.

When I execute it from console:

dotnet neoxp.dll run -i /Users/ljozwik/Code/neo/neo-cli-consensus/123.neo-express -s 15 0
The type initializer for 'RocksDbSharp.Native' threw an exception.

Any ideas what is the problem?

Update 1: It is related to rocksdb not available on MacBook with Apple Silicon :(

VS Code: deploy smart contract Invalid Signature

I created a Nep 6 wallet in the UI
sent testnet gas from the faucet
built my contract and deployed

I asked the community if I missed a step, was informed that the toolkit cannot deploy to testnet or mainnet
Documentation says the VS code toolkit can deploy to testnet/mainnet

I am unsure how to proceed or do this process correctly if I am doing anything wrong.

Inaccurate display of large numbers

Hi, Guys. I'm developing a hash function in Neo smart contract and used some bitwise operations. Then I find that there is a precision loss for big integer's display.

For example, when I compute 87 << 56, I get 6269010681299730000 instead of 6269010681299730432, which means the last 3 numbers are lost.

image
image

publish .vsix with each release tag

It would make developers' life way easier to automate the packaging of the Neo Blockchain Toolkit if the .vsix file could be attached to GitHub releases tags.

Like, for example, as the vscode-java (from RedHat) does: https://github.com/redhat-developer/vscode-java/releases/tag/v0.61.0

I understand that you might want to concentrate all the downloads and user flow at the marketplace, but, due to some packaging reasons, it would be awesome to have the .vsix file in each release tag, here in GitHub.

๐Ÿ‘ ๐Ÿ˜„

Please add instruction on how to specify three contract properties

When we deploy a contract to Neo, we need to specify three properties like, storage, payable and dynamic invoke.

In neo contract template, we can specify those properties using Features assembly attribute. For example:

[assembly: Features(ContractPropertyState.HasStorage)]

but how do we specify three properties at the same time? Can you please add some guide about this?

Thank you.

error NU1102: Unable to find package neo.express with version (= 3.5.19)

I am getting the below error when execting Run Build Tasks in visual studio code.
I am using MAC M1 to execute this.

/var/folders/jr/rgwbdwcn75jg35g3fp7_jhfr0000gn/T/5e9a7299-f6ef-4564-8e74-cc8e9557dd31/restore.csproj : error NU1102: Unable to find package neo.express with version (= 3.5.19)
/var/folders/jr/rgwbdwcn75jg35g3fp7_jhfr0000gn/T/5e9a7299-f6ef-4564-8e74-cc8e9557dd31/restore.csproj : error NU1102: - Found 27 version(s) in nuget.org [ Nearest version: 3.5.20 ]

Package "neo.express" failed to restore, due to Microsoft.DotNet.ToolPackage.ToolPackageException: The tool package could not be restored.
at Microsoft.DotNet.Tools.Tool.Install.ProjectRestorer.Restore(FilePath project, PackageLocation packageLocation, String verbosity)
at Microsoft.DotNet.ToolPackage.ToolPackageInstaller.InstallPackageToExternalManagedLocation(PackageLocation packageLocation, PackageId packageId, VersionRange versionRange, String targetFramework, String verbosity)
at Microsoft.DotNet.Tools.Tool.Restore.ToolRestoreCommand.InstallPackages(ToolManifestPackage package, Nullable`1 configFile)

Tool 'neo.compiler.csharp' (version '3.5.0') was restored. Available commands: nccs

Restore partially failed.

  • The terminal process "/bin/zsh '-c', 'dotnet tool restore'" terminated with exit code: 1.
  • Terminal will be reused by tasks, press any key to close it.

Error when using the extension on macOS

We can deploy contracts using Neo-Express from the terminal, but it fails when we do it from the VS Code extension.
image

I don't know if this happens to Windows users. I'm using macOS 13.2.1

Unable to install template pack | Quickstart

I am following Quickstart to get going with Neo blockchain.

It mentions installing template pack using the below command
dotnet new -i Neo.Contract.Templates

Below is the error that I get. I was unable to find the template in the dotnet though. The steps needs to be updated in that case.

image

Quickstart documentation issues

The quickstart documentation doesn't seem to have been updated based on the new code that has been committed. For example, my students had to use .NET Core 3+ SDK because it couldn't work anymore with .NET Core 2.2 SDK.

Some NEO-Express commands have been changed, for example, "neo-express show gas" doesn't exist anymore and has been replaced by new options that we have been able to find out even if the documentation is not up to date. More importantly, "neo-express contract import" doesn't exist anymore and we haven't found yet the new option or method to import. Any solution to know how to import without "neo-express contract import" would be appreciated because we are stuck at this step.

neoxp command not found

I followed the first quick start tutorial https://ngdenterprise.com/neo-tutorials/quickstart1.html to install the toolkit. Then created a privatenet, followed by attempting to create a new smart contract. Upon choosing a name and language (I choose Python) I get the following error in the terminal.

> Executing task: neoxp create -f test/testTests.neo-express <

/bin/bash: neoxp: command not found
The terminal process "/bin/bash '-c', 'neoxp create -f test/testTests.neo-express'" failed to launch (exit code: 127).

Terminal will be reused by tasks, press any key to close it.

image

My assumption was that the toolkit is a "all-in-one" kit and that I wouldn't have to do any additional manual installations. Under that assumption I don't think this error should be happening.

Print the result after debugging

When we invoke a contract using a VS Code launch configuration, it's possible to debug and inspect variables, but the result is not visible. The expected output would be the same as in the command line:

VM State:     HALT
Gas Consumed: 984060
Result Stack:
  2

Incorrect Script hash to N3 address in Balance information

I deployed this smart contract on my private net

0xb2e0666555f609db2d5ea0f5a70ccdf33813fad7

image

I noticed that an N3 address of a smart contract is a different address than the one I tested sending asset to

image

b2e0666555f609db2d5ea0f5a70ccdf33813fad7 > NcDnHV95KazYPH9DFGsa7Rx6rXk4bYdyBg

The correct one should be Nfbx3XBaVyDA7KtFQSotXtjAZz6MjYig3o

I believe this is because it uses b2e0666555f609db2d5ea0f5a70ccdf33813fad7 instead of 0xb2e0666555f609db2d5ea0f5a70ccdf33813fad7 โ€” missing prefix 0x

it would be even better if we are able to see a contract name in that NEP17 balances.

Unable to use invoke UI

The UI doesn't populate with a list of functions when the neo-express is running and contract deployed. Note the contract "YourName.hhhhContract"
Screenshot 2023-03-02 030920

But will show when neo-express is blockchain is stopped!!!
Screenshot 2023-03-02 030745

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.