Skip to content

Licensed to the Apache Software Foundation (ASF) under one

or more contributor license agreements. See the NOTICE file

distributed with this work for additional information

regarding copyright ownership. The ASF licenses this file

to you under the Apache License, Version 2.0 (the

"License"); you may not use this file except in compliance

with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,

software distributed under the License is distributed on an

"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

KIND, either express or implied. See the License for the

specific language governing permissions and limitations

under the License.

About

ResVault is a Chrome extension that serves as a comprehensive wallet for ResilientDB. ResilientDB is a High Throughput Yielding Permissioned Blockchain Fabric founded by ExpoLab at UC Davis in 2018. ResilientDB advocates a system-centric design by adopting a multi-threaded architecture that encompasses deep pipelines. Further, ResilientDB separates the ordering of client transactions from their execution, which allows it to process messages out-of-order.

Features

Core Wallet Functionality

  • Create Account - Generate new wallet accounts with secure key management
  • Delete Account - Remove accounts with proper cleanup
  • Login/Logout - Secure authentication system
  • Submit Transactions - Send transactions to ResilientDB network
  • Transaction Logging - Complete transaction history and audit trail
  • User Profiles - Manage multiple user identities
  • Multi-account Support - Handle multiple wallet accounts simultaneously

Smart Contract Integration (v1.2.0)

  • Contract Deployment - Deploy Solidity smart contracts directly from the wallet
  • Address Ownership - Contracts are deployed using your wallet address for proper ownership
  • GraphQL Integration - Seamless communication with ResilientDB smart contract service
  • Solidity Compilation - Automatic compilation of Solidity contracts before deployment
  • Enhanced Error Handling - Improved debugging and error reporting for contract operations
  • Network Flexibility - Connect to mainnet or your local ResilientDB server

Security & Performance

  • Secure Key Management - Ed25519 key pairs with proper encryption
  • Transaction Validation - Built-in validation for all operations
  • Network Connectivity - Support for custom ResilientDB network endpoints
  • Real-time Updates - Live transaction status and balance updates

Pending Features: - [ ] Password improvement - [ ] Transaction details view - [ ] View all transactions - [ ] Contract execution and interaction - [ ] Contract interaction history - [ ] Gas estimation and optimization

Installation

Via GitHub release

Open chrome://extensions/ in Google Chrome, toggle Developer mode on: - Click on Load unpacked - Select the build folder that you downloaded from the GitHub releases.

Via Chrome Webstore

Coming Soon

Build

NodeJS is required.
Open terminal and execute:

git clone https://github.com/ResilientApp/ResVault.git
cd ResVault
npm install
npm run build

Smart Contract Usage

Deploying Contracts

  1. Navigate to the Contract tab in ResVault
  2. Enter your ResilientDB server URL:
  3. Mainnet: Use the production ResilientDB endpoint
  4. Local Development: Use your local server (e.g., http://localhost:8400)
  5. Custom Server: Use any ResilientDB instance (e.g., http://your-server:8400)
  6. Paste your Solidity contract code
  7. Provide constructor arguments if needed
  8. Click Deploy - the contract will be deployed using your wallet address

Example Usage

Demo Video

Coming Soon

Contributing

Before creating an issue, please ensure that it hasn't already been reported/suggested.

The issue tracker is only for bug reports and enhancement suggestions. If you have a question, please reach out to [email protected] instead of opening an issue – you will get redirected there anyway.

If you wish to contribute to the ResVault codebase or documentation, feel free to fork the repository and submit a pull request.

Help

If you don't understand something in the documentation, you are experiencing problems, or you just need a gentle nudge in the right direction, please don't hesitate to reach out to [email protected].