Algorand Multi-Sig Signer
This repo, includes all of the code necessary to facilitate the signing of multi-signature transactions without exposing SK's.
Contributors
Set-up guide
Design Flow
Backend
cd backend
go mod tidy
cd cmd
go run main.go
After the above commands have been executed you will have the backend service running on localhost:8081
Now you will have access to the following endpoints (note you will only need the ones with * next to them): Futher documentation of the following endpoints will be avaible in the backend folder
- http://localhost:8081/ms-multisig-db/v1/addrawtxn *
- http://localhost:8081/ms-multisig-db/v1/getrawtxn?id= *
- http://localhost:8081/ms-multisig-db/v1/addsignedtxn *
- http://localhost:8081/ms-multisig-db/v1/getsignedtxn/?id=
- http://localhost:8081/ms-multisig-db/v1/getallsignedtxn/?id=
Frontend
cd frontend
npm i or npm install
head to utils/algodClient.ts and update the X-API-Key key-pair with your purestake api key.
npm start
After the above commands have been executed you will have the frontend running on localhost:3000
AlgorandSDK scripts
In this folder you are able to use the provided template to construct the TXN's you would like to be send to the backend to be signed.
cd algo-scripts
npm i or npm install
Create a .env file and store your purestake api in the following format
PURESTAKE_API_TOKEN='example'
Make simple UI improvements to the frontend
Description
This PR makes some simple updates to the front-end part of this repo. Specifically it does the following:
manifest.json
andindex.html
files.signTxn
pageResolves #6
Add pull request template
Description
This PR creates a standard PR template for this repo. It should be noted that this is just an initial version, as this repo evolves we may find it suitable to modify/improve on this template.
Closes #5
Make simple UI improvements to the frontend
Currently the frontend has a very basic UI that was implemented primarily for the purposes of rapidly testing the various functionalities built by the Algomint team. I think we can make some minor improvements to the UI so as to improve it's presentation.
Create PR template
A standard PR template needs to be created for this repo. This PR template needs to have the following sections:
Create issue templates
It would be useful if there are some standard issue templates created for this repo. Obvious suggestions are issue templates for:
UI fixes
Description
Please include a summary of the changes and the related issue. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes # (issue)
Type of change
Please delete options that are not relevant.
How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
Using Chrome developers tool I tested all the responsiveness and checked the UI on Edge, Firefox, and Chrome
Checklist:
Greenhouse Bounty
Prize Title
Greenhouse Hack
Prize Bounty
1st Place - 15,000 ALGO 2nd Place - 10,000 ALGO
Challenge Description
Recently the Algomint dev team built and open-sourced code that does a “2 of 3” multi-signature deployment of transactions to Algorand. This can be especially useful for improving security in scenarios such as deploying or upgrading a smart contract or when creating new NFT assets in Algorand. The challenge proposed is for a team to leverage this in executing one or more of the following tasks:
Submission Requirements
Valid submissions should contain:
Judging Criteria
Submissions will be awarded weighted points by each of 3 judges from Algomint with the highest averaged total being the overall winner. Weightings for points will be:
Criteria Max Points
10
20
20
25
25
Total points 100
Winner Announcement Date
Winners will be announced at most 2 weeks after the hackathon deadline for submissions ends, most likely much sooner, depending on the volume of submissions received for review.
Resources
Open source repo for Algomint’s multi-sig for Algorand - https://github.com/Algomint/Algorand-MultiSig Getting the current Multi-sig deployment code running and doing a test multi-sig deployment process flow: https://www.loom.com/share/80d882daedc64986aac7f21194c62d88 Demo of the current Multi-sig deployment – dive into the backend: [TBD] Algomint Discord invite: https://discord.gg/5XynvWJqvZ