| .github/workflows | ||
| CMakeModules | ||
| docs | ||
| src | ||
| .gitignore | ||
| build.sh | ||
| CMakeLists.txt | ||
| install.sh | ||
| LICENSE | ||
| LICENSE.bitcoin | ||
| README.md | ||
| uninstall.sh | ||
EOSIO Keygen
This program generates public and private keypair for EOS
Compile
You will need openssl development files (version 1.1 or later) to compile and cmake 3.15 or later to compile this project.
Linux/MacOS
Dependencies
Linux
Ubuntu:
$ apt-get install gcc g++ libssl-dev
Other: Consult the manual for you package manager.
CMake
If your package manager don't provide a sufficiently new version of cmake, you can install it with these commands:
Ubuntu 16.04/18.04 - kitware ppa:
$ wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | sudo apt-key add -
$ sudo apt-add-repository "deb https://apt.kitware.com/ubuntu/ `lsb_release -cs` main"
$ sudo apt-get install cmake
shell script:
$ wget -O cmake.sh https://github.com/Kitware/CMake/releases/download/v3.15.5/cmake-3.15.5-Linux-x86_64.sh && sudo sh ./cmake.sh --prefix=/usr/local --skip-license
Other methods is documanted at https://cmake.org/download
MacOS
You must have a compiler installed. This project is known to build with Xcode 11.0 but other versions should work.
You need to have opessl and cmake installed also, this can be done with this brew command:
$ brew install openssl cmake
If you need a newer version of cmake, you can download the official .dmg file: cmake-3.15.7-Darwin-x86_64.dmg. or see https://cmake.org/download for other versions.
Build
Run ./build.sh to trigger cmake.
If you dont want to use the script. you can build with cmake using the following commands:
$ mkdir build && cd build
$ cmake .. && make
MacOS: You may need to point cmake to openssl by passing the argument
-D OPENSSL_ROOT_DIR=/usr/local/opt/openssl@1.1 if openssl is not under /usr/local/opt/openssl@1.1 you need to find the correct path.
Windows
Dependencies
Download and install cmake version 3.15 or newer from cmake.org and download
openssl
unpack openssl-1.1.1e-dev.zip somewhere on the filesystem.
You will also need a compiler. Build Tools for Visual Studio 2019 (Selecting C++ during installation) is recommended.
Build.
you need to set OPENSSL_ROOT_DIR to the directory where you unpacked
openssl-1.1.1e-dev.zip append x86 if you are on 32-bit system, x64 for 64-bit.
NOTE: cmake uses forward slash / for path even for windows. so make sure you use that when setting OPENSSL_ROOT_DIR
For example:
C:\repo> mkdir build
C:\repo> cd build
C:\repo\build> cmake -D OPENSSL_ROOT_DIR="C:/path/to/openssl-1.1/x86" ..
C:\repo\build> cmake --build . --config Release
Compile options
These compile options are available:
| Cmake | build.sh | Description |
|---|---|---|
-DCMAKE_BUILD_TYPE=value |
-t value |
Type of build |
-DUSE_THREADS=OFF |
--disable-threads | Disable thread support |
-DFORCE_ANSI=ON |
--force-ansi | Force ANSI console colors even on windows |
For more details about options run ./build.sh -l or mkdir build && cmake build -LA
Install
After the project has been compiled. run sudo ./install.sh or the following code if you dont want to use that:
# inside the build directory
$ sudo make install
Windows:
It is possible to run cmake --install . from build directory.
Your DOS shell needs administrator privileges.
Uninstall
Run sudo ./uninstall.sh or remove the files listed in build/install_manifest.txt manually.
Security notice
Keys are generated by OpenSSL's EC_KEY_generate_key function. The program will
never expose your keys to anything but the computers memory and output of the
program. You are free to inspect the source code and compile yourself to verify.
However, use this at your own risk. we cannot guarantee that the keys are cryptographically secure as this depends on OpenSSL's implementation (alto it is widely used and should be safe)
Please read the LICENSE file.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Author
Henrik Hautakoski - henrik@eossweden.org