» Download for macOS | Download for Windows «
KeyChain is a standalone app for signing transactions and generating key pairs. It stores private keys in an isolated environment where no logger, debugger or spyware can intercept them because of the three-layer security protecting each action of the system. KeyChain supports transactions from and to various blockchains, including Ethereum and Ethereum classic, Litecoin, Bitcoin, Bitcoin Cash, and Bitshares.
- Installation
- Getting started
- How to use
- Companies using KeyChain
- Contributing to the project
- Contact
- License
Download and install KeyChain for macOS and Windows. Linux installer is coming soon.
Try out KeyChain on the demo page.
After installation, connect to the demo-page: http://localhost:16384/ to check if the installation was successful and to test the KeyChain commands. In case everything went well, you will see the following page and you will be able to see responses to the commands in the "Response" box when you click on them.
If you are having trouble connecting to the page, contact us and we will do our best to help you.
You can find comprehensive installation guides for macOS, Windows, and Linux in our Wiki.
After you have installed KeyChain for macOS or for Windows, you can start using it with web3. Just follow these simple steps.
- Install
web3override
library from this source.
npm i --save web3override
Require it
const Module = require('web3override');
- Now create a new key with KeyChain and use an overridden web3 function
// create new key in Keychain
const keyInstance = await Module.Keychain.create();
const data = await keyInstance.createKey('test1');
const key = data.result;
await keyInstance.term();
Module.override(web3);
// now we use web3 with keychain
await web3.eth.accounts.signTransaction(transactionParams, key); // overriden web3 function usage
signTransaction
with Keychain in action
The main purpose of this repository is to continue to evolve KeyChain core, making it faster and easier to use. Development of KeyChain happens in the open on GitHub, and we are grateful to the community for contributing bugfixes and improvements.
KeyChain has adopted a Code of Conduct that we expect project participants to adhere to. Please read the full text so that you can understand what actions will and will not be accepted.
To contribute or report a bug, you can contact us or create an issue with a label "bug".
For extensive documentation on KeyChain, refer to the Wiki.
There you will find:
- Home: how to navigate in our Wiki.
- How to sign an Ethereum transaction: a simple and precise tutorial.
- Installation guides for macOS, Windows, Linux.
- KeyChain Protocol: full comprehensive descriptions of the KeyChain commands.
- KeyChain sample commands: shortcut to using the commands.
- Pipe API: integrating KeyChain through pipe.
- Security: why KeyChain is highly secure.
- Troubleshooting: error handling, log files, debugging.
- Useful reference: external links.
- WebSocket API: integrating KeyChain through WebSocket.
If you need help interacting with KeyChain, please do not hesitate to contact us:
- Telegram
- Stackoverflow
- Or you can write us an email to [email protected].
If you want to report a security issue, include the word "security" in the subject field.
We take security issues very seriously and we'll be looking forward to hearing from you. Still, we hope you enjoy using KeyChain and the integration goes smooth!
This project is licensed under the terms of the MIT license.