Skip to content

tenetlab/secure-sign

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SecureSign by Tenet Crypto Lab

Introduction

A Multisig (multiple signature) wallet requires multiple signers to approve transactions, offering enhanced security and collective management over funds. This is useful for organizations or groups looking to share control of a wallet among multiple parties.

This project (SecureSign) allows users to securely create and manage wallets with multiple signers on substrate-based chains like Bittensor and CommuneAI. Designed with enhanced security and collaboration in mind, users can easily set up wallets that require the approval of multiple parties for transactions and wallet management, ensuring transparency and protection for all stakeholders.

In addition to standard multisig functionality, users can:

  • Stake/Unstake tokens: Seamlessly stake or unstake their assets to/from a hotkey (validator).
  • Subnet Management: Register new subnets and set weights.

SecureSign is built to streamline asset management, staking, and network participation, offering a user-friendly experience within the Polkadot ecosystem.

Overview

The repo is split into a number of packages, each representing an application.
It provides a view and interaction layer from a browser.

Development

Contributions are welcome!

To start off, this repo uses yarn workspaces to organize the code. As such, after cloning dependencies should be installed via yarn, not via npm, the latter will result in broken dependencies.

To get started -

  1. Clone the repo locally, via git clone https://github.com/tenetlab/secure-sign.git
  2. Ensure that you have a recent LTS version of Node.js, for development purposes Node >= 16 is recommended.
  3. Ensure that you have a recent version of Yarn, for development purposes Yarn >= 1.22 is required.
  4. Install the dependencies by running yarn
  5. Ready! Now you can launch the UI (assuming you have a local Polkadot Node running), via yarn run start
  6. Access the UI via http://localhost:3000

Docker

You can run a docker container via -

docker run --rm -it --name polkadot-ui -e WS_URL=ws://someip:9944 -p 80:80 jacogr/polkadot-js-apps:latest

To build a docker container containing local changes -

docker build -t jacogr/polkadot-js-apps -f docker/Dockerfile .

When using these Docker commands, you can access the UI via http://localhost:80 (or just http://localhost)

Contributions

Adding a new network (endpoint)

To add a new network to be supported, follow these steps -

  1. Copy the Logo: Place the logo of the new network in the packages/apps-config/src/ui/logos/chains/generated directory. Ensure the logo is appropriately named to match the network.
  2. Export the Logo: Update the packages/apps-config/src/ui/logos/chains/index.ts file to export the newly added logo. This makes the logo available for use within the application.
  3. Add the Endpoint: Add the network's endpoint to the appropriate files within the packages/apps-config/src/endpoints directory. This involves specifying the network's connection details so that the application can interact with it.
  4. Modify the index.ts File: Update the index.ts file in the packages/apps-config/src/endpoints directory to include the new network. This ensures that the network is recognized and can be selected within the application.