Programmable Wallets for Salesforce, powered by Circle Programmable Wallets, is an open source solution built on Circle Programmable Wallet technology to operating 100% within the Salesforce ecosystem.
Key management is abstracted as Developer Managed Wallets, using Salesforce permissions to manage wallet safety. The company will be able to grant read, write, and execute permissions on the Web3 assets without leaving the environment they are comfortable with.
This is a basic demonstration of a Salesforce DX Project. The following Salesforce developer tools are prerequisites to install and set up Salesforce Programmable Wallets from this repository.
-
Salesforce DX Project Setup Information: Download the SF CLI tools, and use them to deploy to a Developer Edition Scratch Org.
-
Salesforce Developer Edition: You can get a free Salesforce Developer Edition account from Salesforce. Sign up at: https://developer.salesforce.com/signup
- Clone the repository.
git clone https://github.com/MuKnSys/salesforce-programmable-wallets.git - Change directory to the cloned repository.
cd salesforce-programmable-wallets - Checkout the main branch.
- Log into the Dev Hub Org by running
sf org login web --set-default-dev-hub --alias DevHub --instance-url https://login.salesforce.comand entering your username and password. - Create a Scratch Org by running
sf org create scratch -f ./config/project-scratch-def.json -a dev -d -y 30.- The
-fflag is a path to config file (no need to change it). - The
-aflag is an alias of the scratch org, if you create multiple scratch orgs you can give them unique aliases to easier refer to them. - The
-dflag marks the newly created scratch org as default. If you don't mark it as default you will have to reference it by username or alias, or you will have to usesf config set target-org YourAliasOrUsernameto set is as default. - The
-yflag sets the number of days before the org expires. - Use the
-hflag for help. - For more details: developer docs scratch orgs create.
- The
- Push the code to the Scratch Org:
sf project deploy start. - Connect to the Salesforce Scratch Org:
sf org open.
- Assign permission set:
Programmable Wallets Adminto your user - Use App Launcher to open
Programmable Wallets Setup. - Please perform all the setup steps.
The initial Setup App and Screen is built. It allows you to connect to the Programmable Wallet system.
This Open Source project requires you to register a developer key. This will be clarified in Milestone 3 as we prepare for final release. We are able to connect to the developer account. All "scaffolding is done."
For an explanation of the screen, please view Milestone 1 Explainer Video.
Milestone 2 demostrates the creation of Wallet Sets, Wallets of both types, and them showing up on the Circle Console. Milestone 3 was created contemporanously to Milestone 2.
To utilize the Wallet Sets and Wallets, follow the setup steps below (Milestone 3) to create and register your API key.
- Set up the API Key and Cypher Text (Milestone 3).
- Launch Programmable Wallets for Salesforce in the App Switcher.
- Create a New Wallet Set (name it, hit create).
- Create one or more new Wallets in the Wallet Set.
- Verify your Wallet on the Circle Console Developer Controlled Wallets.
To see these features, watch Milestone 2 during Milestone 2/3 Demo Video.
This Open Source Project now has custom Lightning Web Components to run the JavaScript necessary for registration.
- Create a Circle Developer Account and Login Circle Console.
- Check your email to confirm and complete the account.
- Grant your user the Permission Set, "Programmable Wallets Admin".
- Click the Gear for Setup.
- Quick Find "Users".
- Click on your user and scroll down to Permission Sets.
- Edit Assignments, and give yourself the Programmable Wallets Admin permission.
- In Salesforce Programmable Wallet Setup, Start the Configuration Process
- Create an API Key on the API & Client Keys of the Circle Console.
- Register the Cypher Text on the Circle Console Entity Secret Page.
- Follow the Step by Step Creation Process to generate the Wallets (above).
Note: There is no supported way to copy the Cypher Text except via the NodeJS or Python SDKs. Therefore you must copy and paste it into the console.
- Create a feature / change branch - you will need to fork the project.
- Pull changes from Salesforce
sf project retrieve start. - Push changes to GitHub.
- Create a pull request.
- Salesforce Extensions Documentation
- Salesforce CLI Setup Guide
- Salesforce DX Developer Guide
- Salesforce CLI Command Reference
- Salesforce DX Project Configuration
Copyright 2024 Web3 Enabler, Inc. Web3 Wallet for Salesforce is distributed under the GPL license, version 3.0. For more information, see the LICENSE file.



