Build a ETH Wallet

Author: @sydneylai

Community Shout-out
Women Who Code
Meta Gamma Delta - parody sorority DAO supporting women in Web3

Scope of Walkthrough

This example will demonstrate how to build your own crypto Wallet with OutSystems. You will walk through how to connect a database, manage dependencies for plugins and replicate an ETH wallet. This app may take 3-5 days to build depending on experience level.

Resources to download to get started

  1. IDE: Download OutSystems' dev tool (free for personal use) LINK
  2. Blockcypher API in OutSystem's repo LINK
  3. EthereumWallet (demo build to get you started) LINK
  4. Mobile QRCode LINK
  5. Join OutSystems' community (300K+ devs) if you're stuck on Q&A https://www.outsystems.com/community/

Video Walktrhough

https://youtu.be/_K0BVsi9OjA

Get Started Here

Step 1 The Installs
Download Ethereum Wallet to OutSystems
Download Blockcypher API (wrapped component in our repo)
Download Mobile QRCode (wrapped JS library)

Step 2 Choose an API and create a Token

Create a Blockcypher account and find your API Token

Add a token to connect your API, it's also how Blockcypher measures usage

Step 3 Set API Token

Head to your OutSystems cloud environment to put in the token (outsystemscloud.com)

Navigation:
Cloud environment > Factory > Modules > Install Ethereum Wallet
Click on Module Ethereum Wallet > Site Properties
Click on Token > Site Property Token, input token
Input from BlockCypher, your own token

Step 4 Build Application Logic

Programming logic is critical for visual programming as you need to understand the structure and functionality of your application. OutSystem uses AI to predict your code, scripts and even folder structures and mapping.

Additionally, you can see that Blockcypher’s API provides a faucet for you to fund your wallet. You can not fund more than 1 BETH at the time. You can also see the Private Key and the signature you'd write on the blockchain ledger.

Step 5 Get Balance Endpoint from the Developer docs
https://www.blockcypher.com/dev/ethereum/#address-api

In your Service Studio IDE, transfer over your Balance from your API

Navigation:
Blockcypher > Integrations > REST > Blockypher API > GetAddress_Balance
Map out the Blockcypher API docs back to each Methods

Wallet address is generated OnInitialize

Step 6 Creating Transactions
https://www.blockcypher.com/dev/ethereum/#creating-transactions

Navigation:
In your Service Studio IDE, transfer over your transactions from the API
Blockcypher > Logic > Server Actions > Transaction_Send

GetTransaction_New requests the new transaction

Sign3 signs the private key

GetTransaction_Sends the transaction to the chain

GetTransaction_New
Input Parameter Requests
Inputs and Outputs of addresses and sequences
Input Response returns a transaction details and you can even see the Hash

Step 7 QR Code
https://www.outsystems.com/forge/component-overview/3650/mobile-qrcode
Wraps JS code library Interface > Scripts > JS qrCode

Navigation:
MobileQRCode component > Create an Event > OnReady and pointed to the QR code and have the QR Code

Save and Publish

Step 8 Install on your device