Get support for gRoussac/casper-deployer-hackathon-oct-2022
If you're new to LTH, please see our FAQ for more information on what it is we do.
Support Options
Unfortunately, there are currently no active helpers for this repository on the platform. Until they become available, we reccomend the following actions:
View Open IssuesTake a look to see if anyone else has experienced the same issue as you and if they managed to solve it.
Open an IssueMake sure to read any relevant guidelines for opening issues on this repo before posting a new issue.
Sponsor directlyCheck out the page and see if there are any options to sponsor this project or it's developers directly.
gRoussac/casper-deployer-hackathon-oct-2022
Welcome to Project Casper Deployer!
CasperLabs Hackaton October 2022 π» ππ―οΈ
Project built with πβ₯πβ€ for Casper Blockchain 
π° Deployed on Render at https://casper.onrender.com/ ( beta ποΈπΈοΈπ·οΈ)
π Project
This projects aims to ease interactions with Casper Blockchain during smart contracts development and for regular queries done with the Casper Client CLI
This project relies on casper-js-sdk and casper-rust-sdk to help with onboarding developers on the Casper Network and also users by providing better insights on Casper Blockchain concepts (URef, Dictionnaries etc..) and with giving the ability to deploy a smart contract signed with the Capser Signer.
βοΈ Casper Signer
Using Chrome or a Chromium-based browser like Brave ? visit the Chrome Web Store, then download and install CasperLabs Signer extension
π CasperLabs Signer acts as your CSPR wallet, keeping your accounts and letting you sign deploys on the Casper Network to perform actions like staking, unstaking or sending your tokens to another person or an exchange account.
For Casper Signer Users
π Tech Stack
-
Blockchain βοΈ
-
Frontend π
-
Backend π¦₯
-
Tests π§ͺ
-
π§
-
πΆ
ποΈ Architecture
Web Server
Web server is implemented in Express.js.
Api Server
Api server is implemented in NestJS+ Nx structure.
Client
UI is implemented in Angular.js + Nx structure.
Smart contracts
Smart contracts are implemented in Rust + Casper Smart contract Crate.
Folders at root directory is as follow :
- casper-sdk: contains the Casper Rust SDK in two versions, web and nodejs
- docker: contains Docker files
- wasm: contains client wasm files
- www: contains the Web application files
π Features
- Header
- [β] Integrate with Casper Signer
- [β] Display active public key and account balance
- Network
- [β] Input Network Peer
- [β] Select from Network Peers
- [β] Check Peer status
- [β] Change RPC ending suffix
- [β] Retrieve Root State Hash
- Config
- [β] Input Root State Hash
- [β] Retrieve from Signer or input Public Key
- [β] Retrieve Puse URef associated with Public key
- [β] Retrieve Balance associated with Public key
- Transfer
- [β] Transfer from active Public Key
- [β] Transfer from other Public Key or Purse Uref
- [β] Transfer to Public Key
- [β] Transfer to Purse Uref
- [β] Define Amount to transfer
- Purse
- [β] Input Purse URef
- [β] Retrieve Balance associated with URef
- State
- [β] Input URef / Hash / Deploy Hash / Account Hash
- [β] Input Named Key Path
- [β] Retrieve State value
- Dictionaries
- [β] Input Dictionary item key
- [β] Input Dictionary URef
- [β] Input Dictionary name
- [β] Input Contract hash
- [β] Retrieve Dictionary value
- Deploy
- [β] Input Chain name
- [β] Select from Chain names
- [β] Input Public Key
- [β] Input Public Key
- [β] Input Gas Fee max for a deploy payment
- [β] Input Time To Live max for a deploy payment
- [β] Select Wasm file (ModuleBytes)
- [β] Input Contract or Package name
- [β] Input Contract or Package hash
- [β] Input Entry point
- [β] Input Args
- [β] Input Contract or Package as target of the deploy
- [β] Input Package version of the deploy
- [β] Make deploy
- [πͺ²] (bugged) Speculative test deploy
- [β] Sign with Signer and send deploy to network
- Output
- [β] Display active query results
- Notes
- [β] Dummy notes takedown
π£οΈ Roadmap / Todo / Tofix
- [β] Add Dictionnary implementation to test smart contracts
- [β] Add some RPC calls into wasm client side (Rust SDK)
- [β] Add Events watchers
- Re implement Events watchers from the Rust SDK
- Casper wallet integration / private key / deprecate Casper Signer
- Whitelist Signer on casper.onrender.com
- Fix Github workflow
- Fix blur events on input
- Fix UI height
- Refactor Angular froms building
- Improve Jest coverage
- Improve Cypress coverage
- Add Cypress coverage Github action
- Improve Css consistentcy
- [β] Fix transfers from URef or non active public key
- Fix speculative test deploys
- Add check deploy and size check
- Add multisignature flow
- Add delegation / stacking flow ?
- [β] Upgrading smart contracts
- Escrow app on /escrow route
- Add Escrow smart contracts
- Electron app
- Load / sign deploy
π§ββοΈ Development
Prerequisites
- npm >= 10.2.5
- nodejs >= v20.10.0
This web project was generated and is using
-
Runs on
-
For tests
-
For WebAssembly and Smart contracts on
π³ Docker
Donwload and run image with docker-compose.yml π
docker-compose -f './docker/docker-compose.yml' up -d
OR
Pull and run image from https://hub.docker.com/r/gregoshop/casper-deployer πββοΈ
docker pull gregoshop/casper-deployer
docker container run -t -i --rm -h casper-deployer -p 4200:4200 gregoshop/casper-deployer
OR
Build and run image with Dockerfile πββοΈ
docker build -t casper-deployer ./docker/ --force-rm
docker container run -t -i --rm -h casper-deployer -p 4200:4200 casper-deployer
Navigate to http://localhost:4200/
π οΈ Usage with npm
Install
π Go to
www
folder
cd ./www
Run npm install
to install the application.
npm install
Development server
Run npm start
for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.
npm start
Development server as production
Run npm run start:prod
for a dev server with production configuration. Navigate to http://localhost:4200/.
npm run start:prod
Build
Run npm run build
to build the project. The build artifacts will be stored in the dist/
directory.
npm run build
Running unit tests
Run npm run test
to execute the unit tests via Jest.
npm run test
Run nx affected:test
to execute the unit tests affected by a change.
Running end-to-end tests
Run npm run e2e
to execute the end-to-end tests via Cypress.
npm run e2e
Run nx affected:e2e
to execute the end-to-end tests affected by a change.
π Configuration
Settings can be changed in /www/libs/util/config/src/config.ts
Default example settings are
{
"api_prefix": "/api/",
"gasFee": "150000000",
"minimumTransfer": "25000000000",
"TTL": "30m",
"idMax": "100000000",
"gasFeeTransfer": "10000"
}
π Understanding the workspace
Run nx graph
to see a diagram of the dependencies of the projects.
πβπ¦Ί Further help
Visit the Nx Documentation to learn more.
π§ Workflow and contributions
β οΈ Work in Progress
https://github.com/gRoussac/casper-deployer-hackathon-oct-2022/blob/Development-Workflow
π License
π¦Ί Security
https://github.com/gRoussac/casper-deployer-hackathon-oct-2022/blob/master/SECURITY.md
βHave questions?
Go to the #hackathon
channel on Discord
πͺ¦ Errors ?
If you see any typos or errors you can edit the code directly on GitHub and raise a Pull Request on dev
branch, many thanks !
Our Mission
We want to make open source more sustainable. The entire platform was born from this and everything we do is in aid of this.
From the Blog
Interesting Articles
-
Generating income from open source
Jun 23 • 8 min read
-
2023 State of OSS
Apr 23 • 45 min read ★
-
A funding experiment...
Aug 19 • 10 min read
-
But You Said I could
Aug 19 • 2 min read
Thank you for checking out LiveTechHelper |
2025 © lth-dev incorporated
p-e622a1a2