Agora Key Gen is a GUI application providing functionality to the agora-deposit-cli.
It is a React app running in Electron. See src/electron/
for the simple electron app and src/react/
for where the magic happens.
Audit by HashCloak Key Gen Audit Report
Prior to running Agora Key Gen a few dependencies need to be installed.
Execute all those commands in your terminal to setup your dev environment.
sudo apt install -y curl
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt install -y build-essential nodejs git python3-distutils python3-dev
PATH="$HOME/.local/bin:$PATH"
curl -sSL https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py
pip3 install pyinstaller
sudo npm install -g yarn
git clone --recursive https://github.com/bosagora/agora-key-gen
cd agora-key-gen
yarn install
yarn buildcli
Even if Ubuntu 18.04 is somewhat old, it is a great OS to build our releases on for the Linux target because it has an older GLIBC which makes it more compatible. More details here.
Execute all those commands in your terminal to build a distribution for release.
sudo apt update && sudo apt -y upgrade
sudo add-apt-repository -y ppa:deadsnakes/ppa
sudo apt install -y curl
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt install -y python3.10-dev python3.10-distutils zlib1g-dev build-essential nodejs git
PATH="$HOME/.local/bin:$PATH"
curl -sSL https://bootstrap.pypa.io/get-pip.py -o get-pip.py
alias python3=python3.10
echo -e "\nalias python3=python3.10" >> ~/.bash_aliases
python3 get-pip.py
pip3 install pyinstaller
sudo corepack enable
git clone --recursive https://github.com/bosagora/agora-key-gen
cd agora-key-gen
yarn install
yarn build
yarn buildcli
yarn dist
- Download and install Node.js and npm from https://nodejs.org/en/download/ (Use LTS version and 64-bit .msi Installer).
- At the screen named Tools for Native Modules, make sure to check the option named Automatically install the necessary tools.. It will install chocolatey, Python 3 and VS build tools. Follow the instructions until the end.
- Open a command prompt window as admin (Press
⊞ Win
+R
, typecmd
, holdCtrl
+Shift
and press↵ Enter
)- Execute this command to install git. Follow the instructions on screen.
choco install git.install
- Open a normal command prompt window (Press
⊞ Win
+R
, typecmd
and press↵ Enter
).- Execute those commands to upgrade pip, install pyinstaller, Cython, install yarn, clone the repository and install the required packages.
python -m pip install --upgrade --user pip
python -m pip install --user pyinstaller
python -m pip install --user Cython
set PATH=%APPDATA%\python\Python310\Scripts;%PATH%
npm install -g yarn
git clone --recursive https://github.com/bosagora/agora-key-gen
cd agora-key-gen
yarn install
yarn buildcliwin
Execute all those commands in your terminal to setup your dev environment. You may be prompted to install "command line developer tools" at some point and please do it.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/agora/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
git --version
// If git is not found, run the following
brew install git
python3 --version
pip3 --version
// If either python3 or pip3 are not found, run the following
brew install python3
brew install node
pip3 install pyinstaller
npm install -g yarn
git clone --recursive https://github.com/bosagora/agora-key-gen
cd agora-key-gen
yarn install
yarn buildcli
Run the following commands in the repository directory:
yarn build
yarn build:watch
(will reload build on changes)- In order to get them to show in the app press
ctrl+r
orcmd+r
once the app is started.
yarn start
To open dev tools when in Agora Key Gen use Ctrl
+ Shift
+ I
When need to submodule update use that :
git submodule update --recursive
We use electron-builder to create executable bundles for Agora Key Gen. Run the following to create a bundle:
yarn run build
yarn run buildcli
(oryarn run buildcliwin
on Windows)yarn run dist
Your assets will be in the dist/
folder.