diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index 03a340b18..d8392f6cf 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -31,7 +31,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v2 with: - go-version: 1.16 + go-version: 1.17 - name: Update manifest to latest commit for every service run: ./manifestgen.sh head diff --git a/docs/contributors/dev_environment_setup.md b/docs/contributors/dev_environment_setup.md index 482705baf..bde37084a 100644 --- a/docs/contributors/dev_environment_setup.md +++ b/docs/contributors/dev_environment_setup.md @@ -23,13 +23,16 @@ This guide will walk you through setting up your machine for contributing to Fir You will need a few prerequisites set up on your machine before you can build FireFly from source. We recommend doing development on macOS, Linux, or WSL 2.0. -- [Go (1.16 or newer)](https://golang.org/dl/) +- [Go (1.17 or newer)](https://golang.org/dl/) - make - GCC - openssl +### Install the FireFly CLI -### Installing GO and setting up your `GOPATH` +The first step to setting up a local development environment is to install the FireFly CLI. Please section of the [Getting Started Guide to install The FireFly CLI](../gettingstarted/firefly_cli.md). + +### Installing Go and setting up your `GOPATH` We recommend following the [instructions on golang.org](https://golang.org/doc/install) to install Go, rather than installing Go from another package magager such as `brew`. Although it is possible to install Go any way you'd like, setting up your `GOPATH` may differ from the following instructions. @@ -43,9 +46,6 @@ export GOROOT="/usr/local/go" export PATH="$PATH:${GOPATH}/bin:${GOROOT}/bin" ``` - -The [FireFly CLI](https://github.com/hyperledger/firefly-cli) is the recommended path for running a local development stack. It has its [own set of prerequisites](https://github.com/hyperledger/firefly-cli#prerequisites) as well. - ## Building FireFly After installing dependencies, building FireFly from source is very easy. Just clone the repo: @@ -93,13 +93,13 @@ To start your new stack simply run: ff start dev ``` -At a certain point in the startup process, the CLI will pause and wait for up to two minutes for you to start the other FireFly node. There are two different ways you can run the extenral FireFly core process. +At a certain point in the startup process, the CLI will pause and wait for up to two minutes for you to start the other FireFly node. There are two different ways you can run the external FireFly core process. ### 1) From another terminal The CLI will print out the command line which can be copied and pasted into another terminal window to run FireFly. *This command should be run from the `firefly` core project directory.* Here is an example of the command that the CLI will tell you to run: ``` -./firefly -f ~/.stacks/firefly/dev/configs/firefly_core_0.yml +./firefly -f ~/.stacks/firefly/dev/init/config/firefly_core_0.yml ``` > **NOTE**: The first time you run FireFly with a fresh database, it will need a directory of database migrations to apply to the empty database. If you run FireFly from the `firefly` project directory you cloned from GitHub, it will automatically find these and apply them. If you run it from some other directory, you will have to point FireFly to the migrations on your own. diff --git a/docs/contributors/index.md b/docs/contributors/index.md index 0da83f8e1..eb610806f 100644 --- a/docs/contributors/index.md +++ b/docs/contributors/index.md @@ -24,7 +24,9 @@ We welcome anyone to contribute to the FireFly project! If you're interested, th ## 🚀 Connect with us on Discord You can chat with maintainers and other contributors on Discord in the `firefly` channel: -[https://discord.gg/hyperledger](https://discord.gg/hyperledger) +[https://discord.gg/hyperledger](https://discord.gg/nnQw2aGhX6) + +[Join Discord Server](https://discord.gg/nnQw2aGhX6){: .btn .btn-purple .mb-5} ## 📅 Join our Community Calls Community calls are a place to talk to other contributors, maintainers, and other people interested in FireFly. Maintainers often discuss upcoming changes and proposed new features on these calls. These calls are a great way for the community to give feedback on new ideas, ask questions about FireFly, and hear how others are using FireFly to solve real world problems. @@ -32,7 +34,11 @@ Community calls are a place to talk to other contributors, maintainers, and othe Please see the [FireFly Calendar](https://lists.hyperledger.org/g/firefly/calendar) for the current meeting schedule, and the link to join. Everyone is welcome to join, regardless of background or experience level. ## 🔍 Find your first issue -If you're looking for somewhere to get started in the FireFly project and want something small and relatively easy, take a look at [issues tagged with "Good first issue"](https://github.com/search?q=repo%3Ahyperledger%2Ffirefly+repo%3Ahyperledger%2Ffirefly-fabconnect+repo%3Ahyperledger%2Ffirefly-cli+repo%3Ahyperledger%2Ffirefly-samples+repo%3Ahyperledger%2Ffirefly-ethconnect+repo%3Ahyperledger%2Ffirefly-dataexchange-https+repo%3Ahyperledger%2Ffirefly-ui+repo%3Ahyperledger%2Ffirefly-cordaconnect+label%3A%22Good+first+issue%22+state%3Aopen&type=Issues&ref=advsearch&l=&l=). You can definitely work on other things if you want to. These are only suggestions for easy places to get started. +If you're looking for somewhere to get started in the FireFly project and want something small and relatively easy, take a look at [issues tagged with "Good first issue"](https://github.com/search?q=repo%3Ahyperledger%2Ffirefly+repo%3Ahyperledger%2Ffirefly-common+repo%3Ahyperledger%2Ffirefly-cli+repo%3Ahyperledger%2Ffirefly-samples+repo%3Ahyperledger%2Ffirefly-ui+repo%3Ahyperledger%2Ffirefly-ethconnect+repo%3Ahyperledger%2Ffirefly-fabconnect+repo%3Ahyperledger%2Ffirefly-cordaconnect+repo%3Ahyperledger%2Ffirefly-dataexchange-https+repo%3Ahyperledger%2Ffirefly-transaction-manager+repo%3Ahyperledger%2Ffirefly-tokens-erc1155+repo%3Ahyperledger%2Ffirefly-tokens-erc20-erc721+repo%3Ahyperledger%2Ffirefly-signer+repo%3Ahyperledger%2Ffirefly-sdk-nodejs+repo%3Ahyperledger%2Ffirefly-sandbox+repo%3Ahyperledger%2Ffirefly-evmconnect+repo%3Ahyperledger%2Ffirefly-helm-charts+repo%3Ahyperledger%2Ffirefly-perf-cli+label%3A%22Good+first+issue%22+state%3Aopen&type=Issue). You can definitely work on other things if you want to. These are only suggestions for easy places to get started. + +[See "Good First Issues"](https://github.com/search?q=repo%3Ahyperledger%2Ffirefly+repo%3Ahyperledger%2Ffirefly-common+repo%3Ahyperledger%2Ffirefly-cli+repo%3Ahyperledger%2Ffirefly-samples+repo%3Ahyperledger%2Ffirefly-ui+repo%3Ahyperledger%2Ffirefly-ethconnect+repo%3Ahyperledger%2Ffirefly-fabconnect+repo%3Ahyperledger%2Ffirefly-cordaconnect+repo%3Ahyperledger%2Ffirefly-dataexchange-https+repo%3Ahyperledger%2Ffirefly-transaction-manager+repo%3Ahyperledger%2Ffirefly-tokens-erc1155+repo%3Ahyperledger%2Ffirefly-tokens-erc20-erc721+repo%3Ahyperledger%2Ffirefly-signer+repo%3Ahyperledger%2Ffirefly-sdk-nodejs+repo%3Ahyperledger%2Ffirefly-sandbox+repo%3Ahyperledger%2Ffirefly-evmconnect+repo%3Ahyperledger%2Ffirefly-helm-charts+repo%3Ahyperledger%2Ffirefly-perf-cli+label%3A%22Good+first+issue%22+state%3Aopen&type=Issue){: .btn .btn-purple .mb-5} + +> **NOTE** Hyperledger FireFly has a microservice architecture so it has many different GitHub repos. Use the link or the button above to look for "Good First Issues" across all the repos at once. Here are some other suggestions of places to get started, based on experience you may already have: @@ -50,7 +56,7 @@ Here are some detailed instructions on [Setting up a FireFly Core Development En If you don't have a lot of experience with Go, but are interested in learning, the [FireFly CLI](https://github.com/hyperledger/firefly-cli/issues) might be a good place to start. The FireFly CLI is a tool to set up local instances of FireFly for building apps that use FireFly, and for doing development on FireFly itself. ### TypeScript experience -If you have some experience in TypeScript, there are several FireFly microservices that are written in TypeScript. The [Data Exchange](https://github.com/hyperledger/firefly-dataexchange-https/issues) is used for private messaging between FireFly nodes, and the [Tokens Connector](https://github.com/hyperledger/firefly-tokens-erc1155/issues) is used to abstract token contract specifics from the FireFly Core. +If you have some experience in TypeScript, there are several FireFly microservices that are written in TypeScript. The [Data Exchange](https://github.com/hyperledger/firefly-dataexchange-https/issues) is used for private messaging between FireFly nodes. The [ERC-20/ERC-271 Tokens Connector](https://github.com/hyperledger/firefly-tokens-erc20-erc721/issues) and [ERC-1155 Tokens Connector](https://github.com/hyperledger/firefly-tokens-erc1155/issues) are used to abstract token contract specifics from the FireFly Core. ### React/TypeScript experience If you want to do some frontend development, the [FireFly UI](https://github.com/hyperledger/firefly-ui/issues) is written in TypeScript and React. diff --git a/manifest.json b/manifest.json index ea336d9f5..632b08b55 100644 --- a/manifest.json +++ b/manifest.json @@ -26,10 +26,10 @@ }, "build": { "firefly-builder": { - "image": "golang:1.16-alpine3.15" + "image": "golang:1.17-alpine3.16" }, "fabric-builder": { - "image": "golang:1.16-alpine3.15", + "image": "golang:1.17-alpine3.16", "platform": "linux/x86_64" }, "solidity-builder": { diff --git a/smart_contracts/fabric/firefly-go/Dockerfile b/smart_contracts/fabric/firefly-go/Dockerfile index d254a4087..466b91fb6 100644 --- a/smart_contracts/fabric/firefly-go/Dockerfile +++ b/smart_contracts/fabric/firefly-go/Dockerfile @@ -1,4 +1,4 @@ -FROM golang:1.16 +FROM golang:1.17 WORKDIR /app COPY firefly.go go.mod go.sum ./ diff --git a/smart_contracts/fabric/firefly-go/go.mod b/smart_contracts/fabric/firefly-go/go.mod index 2cbdf3cab..c02aeea32 100644 --- a/smart_contracts/fabric/firefly-go/go.mod +++ b/smart_contracts/fabric/firefly-go/go.mod @@ -1,6 +1,6 @@ module github.com/hyperledger/firefly/chaincode-go -go 1.16 +go 1.17 require ( github.com/golang/protobuf v1.4.3