Skip to content

Commit

Permalink
Update builder to go 1.17 and docs
Browse files Browse the repository at this point in the history
Signed-off-by: Nicko Guyer <nicko.guyer@kaleido.io>
  • Loading branch information
nguyer committed Jun 20, 2022
1 parent 72747b7 commit 60130bb
Show file tree
Hide file tree
Showing 6 changed files with 21 additions and 15 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
14 changes: 7 additions & 7 deletions docs/contributors/dev_environment_setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand All @@ -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:
Expand Down Expand Up @@ -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.
Expand Down
12 changes: 9 additions & 3 deletions docs/contributors/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,15 +24,21 @@ 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.

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:

Expand All @@ -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.
Expand Down
4 changes: 2 additions & 2 deletions manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -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": {
Expand Down
2 changes: 1 addition & 1 deletion smart_contracts/fabric/firefly-go/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM golang:1.16
FROM golang:1.17

WORKDIR /app
COPY firefly.go go.mod go.sum ./
Expand Down
2 changes: 1 addition & 1 deletion smart_contracts/fabric/firefly-go/go.mod
Original file line number Diff line number Diff line change
@@ -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
Expand Down

0 comments on commit 60130bb

Please sign in to comment.