Skip to content

Standalone RCL-compatible signing and serialization application

License

Notifications You must be signed in to change notification settings

ximinez/ripple-offline-tool

Repository files navigation

ripple-offline-tool

Build Status Build status codecov

Rippled serialization and transaction signing command-line tool

Table of contents

Dependencies

rippled inclusion

This project depends on the rippled repository for core signing functionality. If you have built and installed rippled, you can point this project at your installation using CMAKE_PREFIX_PATH (if you have installed in a standard system search path, this is not needed), e.g.:

$ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=/path/to/rippled/installation/root ../..

Alternatively, if you do not have a local installation of rippled development files that you want to use, then this project will fetch an appropriate version of the source code using CMake's FetchContent.

Other dependencies

Build and run

For linux and other unix-like OSes, run the following commands:

$ cd ${YOUR_RIPPLE_SERIALIZE_DIRECTORY}
$ mkdir -p build
$ cd build
$ cmake .. -DCMAKE_BUILD_TYPE=Release
$ cmake --build . --parallel
$ ./ripple-offline-tool --unittest
$ ./ripple-offline-tool --help

For 64-bit Windows, open a MSBuild Command Prompt for Visual Studio and run the following commands:

> cd %YOUR_RIPPLE_SERIALIZE_DIRECTORY%
> mkdir build
> cd build
> cmake -G"Visual Studio 15 2017 Win64" ..
> cmake --build . --config Release --parallel
> .\Release\ripple-offline-tool.exe --unittest
> .\Release\ripple-offline-tool.exe --help

32-bit Windows builds are not officially supported.

Usage

Run ripple-offline-tool --help for usage information.

Key File Format

The key file contains one JSON object. That object has a series of string name/value pairs. The only required fields are key_type and master_seed. Other fields are derived internally as needed. This simplifies manual keyfile creation for existing XRPL accounts. Example:

{
      "key_type" : "ed25519",
      "master_seed" : "sPUTYOURSECRETKEYHERE"
}

For user convenience, the createkeyfile operation will write a new keyfile containing the same fields returned by rippled's wallet_propose RPC command plus secret_key and secret_key_hex. While not needed for signing operations, this allows the user to easily retrieve or confirm their account_id for later use. It also removes the risk of allowing a potentially untrusted server to generate a secret key.

About

Standalone RCL-compatible signing and serialization application

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published