go/

directory
v0.7.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 29, 2023 License: Apache-2.0

README

Dev Wallet Go Library

The FCL dev wallet is being integrated into the Flow CLI and since the FCL Dev Wallet is a software written in javascript/typescript it introduces this Go wrapper, that embeds the statically built bundle of the FCL Dev Wallet app and serves it with the implemented Go HTTP server.

It also introduces a config API endpoint /api that serves the configuration needed by the statically built bundle during the runtime. This Go library gets the configuration from two sources:

  • From the configuration passed to the library
  • From the .env.development file

The configuration that is being passed to the library will overwrite the configuration in the .env.development but it's only limited to providing values for the following keys:

  • flowAccountAddress
  • flowAccountPrivateKey
  • flowAccountPublicKey
  • flowAccessNode

The configuration that is fetched from the .env.development file will be converted from snake case to camel case. Example a property named FOO_BAR_ZOO wil become fooBarZoo when server with the API configuration endpoint.

Configuration is dynamically built, so even if new values are added there is no change required in the Go implementation, beside just building the bundle and releasing a new version on the Github.

Testing

During the development of Dev wallet you can test how the Go library works by running:

npm run go-server

This command will build the latest bundle, copy the .env.development from the root directory in the /go/wallet (just to make sure they are in sync), build the Go server and run it. You must make sure you have Go installed, here are instructions: https://go.dev/doc/install

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL