Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

XRPLWin XWCode #9

Open
wants to merge 30 commits into
base: submissions
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
c24124f
Update README.md
Ekiserrepe Jan 4, 2025
a65e01a
Update README.md
Ekiserrepe Jan 4, 2025
4ceeb32
Update README.md
Robert-XRPLLabs Jan 4, 2025
667bf50
Update README.md
Robert-XRPLLabs Jan 4, 2025
b418c1b
Update README.md
Robert-XRPLLabs Jan 4, 2025
e056e8b
Update README.md
Robert-XRPLLabs Jan 4, 2025
0741af0
Update README.md
Ekiserrepe Jan 6, 2025
dfee495
Update pull_request_template.md
Ekiserrepe Jan 6, 2025
42a1c85
Update README.md
Ekiserrepe Jan 9, 2025
6534c3e
Update README.md
Ekiserrepe Jan 9, 2025
fdc3271
Update README.md
Ekiserrepe Jan 9, 2025
baf949f
Update README.md
Ekiserrepe Jan 9, 2025
525a9ed
Update README.md
Ekiserrepe Jan 9, 2025
44c16c9
Update README.md
Ekiserrepe Jan 10, 2025
3d8dc77
Merge pull request #3 from XRPL-Labs/submissions
Ekiserrepe Jan 10, 2025
c34f95f
Update pull_request_template.md
Ekiserrepe Jan 10, 2025
77a5295
Update README.md
Ekiserrepe Jan 10, 2025
e5aff89
Update README.md
Robert-XRPLLabs Jan 10, 2025
60978fc
Create XRPLWin-XWCode
zgrguric Jan 28, 2025
75cf280
Delete contest_submissions/XRPLWin-XWCode
zgrguric Jan 28, 2025
bb8ba3b
Create README.md
zgrguric Jan 28, 2025
998851b
Update README.md
zgrguric Jan 28, 2025
80c768c
Update README.md
zgrguric Jan 29, 2025
e714961
Update README.md
zgrguric Jan 29, 2025
cc10214
Update README.md
zgrguric Jan 29, 2025
513068d
Update README.md
zgrguric Jan 29, 2025
4db163a
Update README.md
zgrguric Jan 29, 2025
7227db8
Update README.md
zgrguric Jan 29, 2025
fbd8a6e
Update README.md
zgrguric Jan 29, 2025
0f433a7
Update README.md
zgrguric Jan 29, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
## Project Overview 📖

- **Project Name:** <!-- Your project's name -->
- **Folder Project Name Inside submissions Branch:** <!-- Your project's name -->
- **Folder Project Name Inside submissions Branch:** <!-- Your_name-Your_projects_name -->
- **Project Description:** <!-- A brief description of your project -->

## Project Details 🛠
Expand Down
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,11 @@ This contest invites you to innovate, build, and showcase your creativity using

## **Event Dates**

- **Start Date**: January 13, 2024 12:00CET
- **End Date**: January 31, 2024 23:59CET
-
- **Start Date**: January 13, 2025 12:00CET
- **End Date**: January 31, 2025 23:59CET

## **Winners Announcement**
- **Date**: February 7, 2024
- **Date**: February 7, 2025

## **Judging Panel**
- **Richard Holland** | @[RichardXRPL](https://x.com/RichardXRPL) (XRPL-Labs)
Expand Down Expand Up @@ -73,8 +73,8 @@ Thank you for your participation and good luck!
## **Official Documentation/Tools**
- [Xahau Documentation](https://docs.xahau.network/)
- [Hooks Documentation](https://docs.xahau.network/readme-1)
- [Hooks Builder](https://builder.xahau.network/)
- [Hooks Toolkit: A comprehensive library for building and testing Hooks (This is the best place to start).](https://hooks-toolkit.com/)
- [Hooks Builder: Learn how to use Hooks with this online development environment](https://builder.xahau.network/)
- [Hooks Toolkit: A comprehensive library for building and testing Hooks](https://hooks-toolkit.com/)
- [XHS-Library: A collection of Hooks, a perfect way to learn how to code Hooks](https://github.com/Transia-RnD/xhs-library)
- [How to Build a Hook from Scratch: step-by-step video guide to implementing Hooks in your project](https://www.youtube.com/watch?v=XgQx49K81do)
- [JS Hooks Tutorial](https://www.youtube.com/watch?v=uX7bR2VZAp8)
Expand Down
90 changes: 90 additions & 0 deletions contest_submissions/XRPLWin-XWCode/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
# XWCode - JSHooks Builder
Native IDE for Web3 Development ([try it now](https://xahau.xrplwin.com/code/jshooks))

![xw1](https://github.com/user-attachments/assets/d5398cc4-5bbc-4125-a214-146165fd2bf7)

## Overview
The XWCode Core and Components are made from zero by XRPLWin in event-driven architecture. IDE components are extendable by plugins. "JSHooks Builder"
edition of this IDE is combination of specific plugins which gives Hooks build and deploy capabilities to the underlying core XWCode engine.

## Plugins
1. **Filesystem** - gives filesystem capabilities using IndexedDB
2. **Console** - displays console and translates VM output to browser
3. **Settings** - manager for encrypted ENV variables and other IDE settings
4. **XRPLConnector** - gives capability to connect to different XRPL compatible networks (Xahau, Xahau-Testinet, ...)
5. **JSHooks** - gives tools, methods, and actions to build TS code to Hook (API Version 1) deployable binary code
6. **JSHooksEasy** - easy UI mode for building and deploying in one go
7. **HookDeploy** - gives ability to deploy Hook via integrated wallet system (Xaman, seed, ...)
8. **Welcome** - plugin that displays welcome landing page
9. **Webcontainer** - NodeJS Virtual Machine engine which runs in Web browser

## Architecture
### Filesystem
Files are stored in your web browser and persisted in IndexedDB storage. Option to download full project is available (as .zip archive).
File manager tree is available to view and browse all files available.

### Node Virtual Machine
To build hook from TS project, project needs to be bundled with *esbuild*, to make this tool available NodeJS VM is used.
Virtual Machine uses *Node v18* to build JS Hooks. Engine that is running this is [Webcontainers](https://webcontainers.io/) by [StackBlitz](https://stackblitz.com/)

### Plugins
Event driven architecture of the IDE allows easy extensions to be installed to ide (plugin manager is planned for future releases).

### Git integration
Project can be loaded from github repository or GIST directly. For future release it is planned to init git repo in IDE and add git functionality (pull, push...)

### Vault
To encrypt sensitive data such as TESTNET account seeds and ENV variables, Encryption Vault is used which will encrypt variables with unique generated encryption key.

## Networks
IDE supports multi-networks connections, you can switch between XAHAU Mainnet, XAHAU Testnet and XAHAU JSHooks Testnet, also there is localhost connection for own local node build.
- XAHAU Mainnet
- XAHAU Testnet
- XAHAU JSHooks Testnet
- LOCAL

## Building
Powerful context-menu tools gives you control over your code, use context menu to build hook bundle or get binary source easily.

![image](https://github.com/user-attachments/assets/dee899bd-dec0-47a7-a525-2b169833c995)

## Deploying
Deploy UI gives you control over SetHook transaction, review and set available parameters before deploying on your account.
- Deploy JSHooks
- Deploy CHooks

![image](https://github.com/user-attachments/assets/9b40f22f-2a43-4a27-bc3f-6594a33f41af)

## Additional tools
Account manager (bundled with the XRPLWin Explorer) enables you to manage installed hooks on your account.
Easily modify installed hook (change triggers, clear namespace, add or remove parameters, ...)

Also uninstall hook with few clicks.

- modify hooks
- clear namespace
- change namespace
- remove or add parameters
- remove or add grants
- uninstall hook

![image](https://github.com/user-attachments/assets/97acb6d7-5599-4dc2-89c5-2fa30d7e8ed2)

Alternative installation tools for both C and JS Hooks are also available under "Tools" in the [Xahau Explorer](https://xahau.xrplwin.com/tools)

![image](https://github.com/user-attachments/assets/1cdc20e5-86d8-4578-b500-531e571f90e9)

## Project status
Currently in *Beta (public testing)*

## What is missing
**Test interface** - Built-in Wallet manager, faucet and easy-to-use forms to run transaction types.
**Code snippets** - Library of code snippets to make hook building easy task
**Knowledgebase** - Explorable documentation (connected to official docs)
**Search** - Project file search plugin

## Demo

[See it in action (post on X)](https://x.com/XRPLWin/status/1884394295748149284)