Serverless Ethereum Wallet Backend

Backend Node.js app for a lightweight serverless Ethereum wallet
Alternatives To Serverless Ethereum Wallet Backend
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Awesome Blockchain Cn17,162
20 days ago19apache-2.0JavaScript
收集所有区块链(BlockChain)技术开发相关资料,包括Fabric和Ethereum开发资料
Mist7,271
3 years ago16January 25, 2018788gpl-3.0JavaScript
[DEPRECATED] Mist. Browse and use Ðapps on the Ethereum network.
Ethers.js6,4672,6804,8242 days ago258September 16, 2022322mitTypeScript
Complete Ethereum library and wallet implementation in JavaScript.
Web3modal4,05511617 hours ago23August 26, 202233apache-2.0TypeScript
A single Web3 provider solution for all Wallets
Awesome Coins3,691
a year ago9cc0-1.0
₿ A guide (for humans!) to cryto-currencies and their algos.
Status Mobile3,640
17 hours ago483mpl-2.0Clojure
a free (libre) open source, mobile OS for Ethereum
Rainbow3,325
17 hours ago28gpl-3.0TypeScript
🌈‒ the Ethereum wallet that lives in your pocket
Extension2,758
4 days ago313gpl-3.0TypeScript
Taho, the community owned and operated Web3 wallet.
Wallet Core2,168319 hours ago59September 20, 202219mitC++
Cross-platform, cross-blockchain wallet library.
Ethers Rs1,63119a day ago37July 11, 2022110apache-2.0Rust
Complete Ethereum & Celo library and wallet implementation in Rust. https://docs.rs/ethers
Alternatives To Serverless Ethereum Wallet Backend
Select To Compare


Alternative Project Comparisons
Readme

Serverless Ethereum Wallet (Backend)

This is the backend application for a lightweight Ethereum wallet. The backend for this application is written in Node.js, and utilizes the serverless framework for AWS Lambda. Authentication is handled via Auth0.

The front-end companion project can be found here: Serverless Ethereum Wallet Frontend

This is both a WIP, and a proof of concept, and is very limited in functionality. As such, it should only be used with the Ethereum testnet.

Requirements

  • To run this application you must have an AWS account and be familiar with deploying serverless applications.
  • You must have an Auth0 account.
  • You must either be running an Ethereum node, or use a service such as Infura

Setup

  1. Install npm dependencies:
npm install
  1. Install DynamoDB locally
sls dynamodb install
  1. You must create and populate a secrets.yml file. Reference the environment.yml file to see which items are required.

  2. The default configuration assumes you are using Infura. If you are using your own node, you will need to swap the HttpProvider URL in the objects/Wallet.js file.

  3. To run the app locally:

npm start

Deploying

If you are running npm install on OSX or Windows, you may need to rebuild the node_modules folder from within a Docker container running Linux before this app will work on AWS Lambda. An explanation of this workaround can be found here.

If this is the case, simply run the following commands:

  1. Build the container
docker build -t eth .
  1. Run the container. This will open up the terminal within the container:
docker run -v $(pwd):/eth -it eth:latest
  1. Run the commands manually from the ./bin/dockerCommands.sh file:
source /root/.nvm/nvm.sh 
nvm use 6.10
cd eth && npm rebuild
  1. This should update your node_modules folder with the proper modules compiled for linux. You can now run npm run deploy to deploy to AWS.

API

All authentication is handled via Auth0. You will need to obtain an access token (JWT) to submit requests to the API.

The following endpoints are current available:

  • Wallets

    • /wallet/create
    • /wallet/balance
  • Users

    • /user/get
Popular Wallet Projects
Popular Ethereum Projects
Popular Blockchain Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Javascript
Amazon Web Services
Authentication
Ethereum
Serverless
Wallet
Cryptocurrency
Aws Lambda
Auth0