From eb2b585fd73401b48ef46cce247314fdcfaba974 Mon Sep 17 00:00:00 2001 From: Michael Bucher Date: Wed, 31 Jul 2024 10:28:56 +0200 Subject: [PATCH 1/2] Update neow3j version to 3.23.0 --- docs/neo-n3/README.md | 10 +++++----- .../setup_and_compilation.md | 8 ++++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/neo-n3/README.md b/docs/neo-n3/README.md index 74f4a87..6b9c357 100644 --- a/docs/neo-n3/README.md +++ b/docs/neo-n3/README.md @@ -9,7 +9,7 @@ -

neow3j 3.22.1

+

neow3j 3.23.0

Neow3j is a development toolkit that provides easy and reliable tools to build Neo dApps and Smart Contracts using the Java platform (Java, Kotlin, Android). It is an open-source project developed by the Neo community and maintained by @@ -58,7 +58,7 @@ To make use of all neow3j SDK features, add the `io.neow3j:contract` dependency __Gradle__ ```groovy -implementation 'io.neow3j:contract:3.22.1' +implementation 'io.neow3j:contract:3.23.0' ``` __Maven__ @@ -67,7 +67,7 @@ __Maven__ io.neow3j contract - 3.22.1 + 3.23.0 ``` @@ -79,7 +79,7 @@ you want to play around with the devpack, add the `io.neow3j:devpack` dependency __Gradle__ ```groovy -implementation 'io.neow3j:devpack:3.22.1' +implementation 'io.neow3j:devpack:3.23.0' ``` __Maven__ @@ -88,7 +88,7 @@ __Maven__ io.neow3j devpack - 3.22.1 + 3.23.0 ``` diff --git a/docs/neo-n3/smart_contract_development/setup_and_compilation.md b/docs/neo-n3/smart_contract_development/setup_and_compilation.md index fa49e51..6e1e8c5 100644 --- a/docs/neo-n3/smart_contract_development/setup_and_compilation.md +++ b/docs/neo-n3/smart_contract_development/setup_and_compilation.md @@ -46,7 +46,7 @@ contract compilation via a Gradle task called `neow3jCompile`. The Java plugin i ```groovy plugins { id 'java' - id 'io.neow3j.gradle-plugin' version "3.22.1" + id 'io.neow3j.gradle-plugin' version "3.23.0" } ``` @@ -90,13 +90,13 @@ Then we need to define the dependencies, which are `io.neow3j:devpack` for writi ```groovy dependencies { - implementation 'io.neow3j:devpack:3.22.1' + implementation 'io.neow3j:devpack:3.23.0' testImplementation 'org.junit.jupiter:junit-jupiter:5.9.0', - 'io.neow3j:devpack-test:3.22.1', + 'io.neow3j:devpack-test:3.23.0', 'ch.qos.logback:logback-classic:1.2.11' - deployImplementation 'io.neow3j:compiler:3.22.1', + deployImplementation 'io.neow3j:compiler:3.23.0', 'ch.qos.logback:logback-classic:1.2.11' } ``` From 8579079a629d98a91c572f24cdbe3f37e4eddac8 Mon Sep 17 00:00:00 2001 From: Michael Bucher Date: Wed, 31 Jul 2024 10:31:21 +0200 Subject: [PATCH 2/2] Remove outdated link and reformate introduction.md --- .../introduction.md | 42 +++++-------------- 1 file changed, 10 insertions(+), 32 deletions(-) diff --git a/docs/neo-n3/smart_contract_development/introduction.md b/docs/neo-n3/smart_contract_development/introduction.md index 160a3ee..e28c582 100644 --- a/docs/neo-n3/smart_contract_development/introduction.md +++ b/docs/neo-n3/smart_contract_development/introduction.md @@ -1,48 +1,26 @@ # Smart Contract Development -Neo stands out from other blockchains in that it allows you to implement smart contracts in several well known -programming languages like C#, Go and JavaScript. Neow3j contributes to this and adds support for Java as a smart -contract language. The part of neow3j concerned with smart contract development is termed **neow3j devpack**. -It is composed of three modules. - -- The `io.neow3j:devpack` is the module that your smart contract project will depend on. It is a Java library that - contains Neo-specific annotations, methods, and classes required for contract development. You will use it in your - contract, e.g., to fetch information about the current block, or to send out a notification. The API of this module is - described in the [Devpack](neo-n3/smart_contract_development/devpack.md) section. -- The `io.neow3j:compiler` contains the compiler that produces NeoVm code from Java classes. You can use it - programmatically, by invoking it in a Java program, but, most likely you will not need to access it directly. -- The `io.neow3j:gradle-plugin` implements a Gradle plugin that you apply to your smart contract project and offers a - simple Gradle task for contract compilation +Neo stands out from other blockchains in that it allows you to implement smart contracts in several well known programming languages like C#, Go and JavaScript. Neow3j contributes to this and adds support for Java as a smart contract language. The part of neow3j concerned with smart contract development is termed **neow3j devpack**. It is composed of three modules. + +- The `io.neow3j:devpack` is the module that your smart contract project will depend on. It is a Java library that contains Neo-specific annotations, methods, and classes required for contract development. You will use it in your contract, e.g., to fetch information about the current block, or to send out a notification. The API of this module is described in the [Devpack](neo-n3/smart_contract_development/devpack.md) section. +- The `io.neow3j:compiler` contains the compiler that produces NeoVm code from Java classes. You can use it programmatically, by invoking it in a Java program, but, most likely you will not need to access it directly. +- The `io.neow3j:gradle-plugin` implements a Gradle plugin that you apply to your smart contract project and offers a simple Gradle task for contract compilation ## Java for the Neo Virtual Machine -It is important to understand that, even though, on the surface you will be writing Java code, the generated bytecode -and the executing virtual machine are not related to Java. Your smart contract code is compiled to byte code that runs -on the Neo Virtual Machine (NeoVM) and not on the Java Virtual Machine (JVM). Because of the differences between the JVM -and the NeoVM, the programming experience with Java for Neo is different. We, therefore, define Java for Neo as a Java -flavour or subset and name it NeowJava. Section [NeowJava](neo-n3/smart_contract_development/neowjava.md) discusses -in which ways NeowJava deviates from Java and what the pitfalls are when using NeowJava. +It is important to understand that, even though, on the surface you will be writing Java code, the generated bytecode and the executing virtual machine are not related to Java. Your smart contract code is compiled to byte code that runs on the Neo Virtual Machine (NeoVM) and not on the Java Virtual Machine (JVM). Because of the differences between the JVM and the NeoVM, the programming experience with Java for Neo is different. We, therefore, define Java for Neo as a Java flavour or subset and name it NeowJava. Section [NeowJava](neo-n3/smart_contract_development/neowjava.md) discusses in which ways NeowJava deviates from Java and what the pitfalls are when using NeowJava. ## Development Environment -You can write smart contracts in any editor or IDE you want. There are some environments, namely Visual Studio Code -and IntelliJ IDEA, that provide you with extra support for an improved developer experience. +You can write smart contracts in any editor or IDE you want. There are some environments, namely Visual Studio Code and IntelliJ IDEA, that provide you with extra support for an improved developer experience. With [**Visual Studio Code**](https://code.visualstudio.com/) you can make use of the [Neo Blockchain -Toolkit](https://marketplace.visualstudio.com/items?itemName=ngd-seattle.neo-blockchain-toolkit) extension, that is -developed by [ngdenterprise](https://ngdenterprise.com/). It allows contract debugging, easy contract setup, and -provides a GUI for manipulating a local neo-express instance. Next to the Toolkit, we suggest to install the [Java -Extension Pack](https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-pack) and the [Gradle Extension -Pack](https://marketplace.visualstudio.com/items?itemName=richardwillis.vscode-gradle-extension-pack). +Toolkit](https://marketplace.visualstudio.com/items?itemName=ngd-seattle.neo-blockchain-toolkit) extension. It allows contract debugging, easy contract setup, and provides a GUI for manipulating a local neo-express instance. Next to the Toolkit, we suggest to install the [Java Extension Pack](https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-pack) and the [Gradle Extension Pack](https://marketplace.visualstudio.com/items?itemName=richardwillis.vscode-gradle-extension-pack). -[**IntelliJ**](https://www.jetbrains.com/idea/download/) is obviously a good choice because it has already great support -for Java. A [Neo plugin](https://plugins.jetbrains.com/plugin/17195-neo) has been implemented for IntelliJ too. It -provides basic control over neo-express via IntelliJ's UI. For usage instructions and a short video visit the plugin's -[github page](https://github.com/irshadnilam/intellij-neo). Debugging smart contracts is not possible with IntelliJ. +[**IntelliJ**](https://www.jetbrains.com/idea/download/) is obviously a good choice because it has already great support for Java. A [Neo plugin](https://plugins.jetbrains.com/plugin/17195-neo) has been implemented for IntelliJ too. It provides basic control over neo-express via IntelliJ's UI. For usage instructions and a short video visit the plugin's [github page](https://github.com/irshadnilam/intellij-neo). Debugging smart contracts is not possible with IntelliJ. ## Requirements -- A local installation of the [**Java 8 SDK**](https://adoptopenjdk.net/) (or higher) is required for smart contract - compilation. +- A local installation of the [**Java 8 SDK**](https://adoptopenjdk.net/) (or higher) is required for smart contract compilation. - For running smart contract tests you need to have [**Docker**](https://www.docker.com/products/docker-desktop) installed locally.