Architecture
Architecture
Through the CROSS Ramp Console (RAMP), you can intuitively check not only the request-response flow between applications (dApps) and servers, but also the token issuance process linked to the blockchain network.
Developers can follow step-by-step how dApps interact with CROSS Ramp, simplifying the entire process, from the transmission of token issuance requests to actual token creation on the blockchain.
Components
| Component | Role / Description |
|---|---|
| RAMP F/E | Provides user interface (UI) and displays transaction status in real-time. |
| RAMP B/E | Performs core logic including transaction request processing, validation, and Validator signature requests. |
| Game Client | Calls RAMP F/E and displays transaction progress status. |
| Game Server | Handles game internal logic including game asset verification, deduction and restoration, and signature processing. |
| Blockchain Network | Processes actual token minting and burning transactions. |
Token Minting
Flow Diagram
sequenceDiagram
box Application(Dapp)
participant U as User/Client
participant GS as Game Server
end
box RAMP-Platform
participant RFE as RAMP F/E
participant RBE as RAMP B/E
end
participant BC as Blockchain Network
%% Entry
U->>U: 1. Click Token Minting
activate U
U->>GS:JWT 2. Token Request
activate U
activate GS
GS-->>U:JWT Token Response
deactivate U
deactivate GS
U->>RFE: 3. Open WebView (Project ID, JWT, Character Info)
activate U
activate RFE
RFE->>RBE: 4. Game Asset Info Request
activate RFE
activate RBE
RBE->>GS:5. Game Asset Info Request
activate RBE
activate GS
GS-->>RBE:Game Asset Info Response
deactivate RBE
deactivate GS
RBE-->>RFE:Game Asset Info Response
deactivate RFE
deactivate RBE
RFE-->>U:Game Asset Query Response
deactivate U
deactivate RFE
U->>RFE: 6. Select Minting Quantity and Sign
activate U
activate RFE
RFE->>RBE: 7. Transfer User Signature Value
activate RFE
activate RBE
RBE->>GS: 8. Validator Signature Request
activate GS
activate RBE
GS->>GS: 9. User Request Verification and Game Asset Processing
GS->>GS: 10. Validator Signature
GS-->>RBE: Validator Signature Response
deactivate GS
deactivate RBE
RBE->>RBE: 11. Validator Signature Verification
RBE->>BC: 12. Transaction Request
activate RBE
activate BC
BC-->>RBE: Transaction Result Response
deactivate BC
deactivate RBE
RBE-->>RFE: Transaction Result Response
deactivate RFE
RBE-)GS: 13. Transaction Result Delivery (Webhook)
activate RBE
activate GS
opt Fail
GS->>GS: 14. Game Asset Processing<br/>(On Minting Failure)
end
GS--)RBE: Transaction Result Receipt Response
deactivate RBE
deactivate GS
deactivate RBE
RFE-->>U: Minting Result Response
deactivate RFE
deactivate U
U ->> U: 15. UI Processing
deactivate U
Flow Diagram Description
- Click Token Minting
- User clicks the minting button within the application (dApp).
- JWT Token Request
- Authentication token is required for communication between RAMP (B/E) and game server.
- Used when RAMP B/E requests user's game asset information from the game server, and the game server needs to verify the token.
- Open WebView
- Load the RAMP F/E page from the application (dApp), including the ProjectID created in the RAMP console.
- The previously created JWT and session ID (user character information) values must be included in the request parameters.
Use WebView in mobile environmentsandload the RAMP F/E page through the system default browser in desktop environments.
https://ramp.crosstoken.io/catalog?
projectId={{Your Project ID}}
&sessionId={{dappSessionId}}
&accessToken={{dappAccessToken}}
&platform=web
&network=mainnet - Game Asset Info Request
- RAMP F/E requests user's game asset information from RAMP B/E.
- Game Asset Info Request
- RAMP B/E requests user's game asset information from the game server.
- Game asset requests are sent to the URL registered in RAMP's 'Get Assets' item.
- JWT is included in the HTTP Request Header, so the game server must verify the JWT.
- Select Minting Quantity and Sign
- User directly inputs the quantity to mint and proceeds with signing through the CROSS wallet in RAMP F/E.
- Transfer User Signature Value
- RAMP F/E sends the user's signature value to RAMP B/E.
- Validator Signature Request
- RAMP B/E sends a Validator signature request to the game server.
- The HTTP Request Header of the RAMP B/E request includes a signature value generated using HMAC, created in the CROSS Ramp Console.
The game server must verify this signature value to confirm the integrity of the request. - Validator signature requests are sent to the URL registered in the CROSS Ramp Console's 'Validator Order' item.
- The CROSS Ramp Console requires registration of addresses, generated with tools provided by NEXUS.
- The game server must perform EC signatures using private keys, generated with tools provided by NEXUS.
ImportantPrivate keys generated using tools provided by Nexus must be thoroughly managed to prevent external exposure.
- User Request Verification and Game Asset Processing
- The game server must verify the validity of game assets used for token issuance based on data received from RAMP B/E.
After deducting the game assets required for token issuance from the user account, proceed with the Validator signature and response procedures in step 10.
- Validator Signature
- The game server must perform ECDSA signature using the 'digest' value from the Validator request data received from RAMP B/E.
- Validator Signature Verification
- RAMP B/E verifies whether the response sent by the game server is correct using the Validator signature value responded by the game server.
- Transaction Request
- When Validator verification succeeds in step
11, request token minting/burning transactions to the blockchain network.
- When Validator verification succeeds in step
- Transaction Result Delivery (Webhook)
- Deliver transaction results from the blockchain network to the game server.
- The HTTP Request Header of the RAMP B/E request includes a signature value generated using HMAC created in the RAMP console.
The game server must verify this signature value to confirm the integrity of the request.
- Game Asset Processing
If the transaction fails in the blockchain network, the game server must restore the user's game assets deducted in step 9.
- UI Processing
- The RAMP F/E UI is automatically updated according to the transaction result status.
Token Burning
Flow Diagram
sequenceDiagram
box Application(Dapp)
participant U as User/Client
participant GS as Game Server
end
box RAMP-Platform
participant RFE as RAMP F/E
participant RBE as RAMP B/E
end
participant BC as Blockchain Network
%% Entry
U->>U: 1. Click Token Burn
activate U
U->>GS:JWT 2. Token Request
activate U
activate GS
GS-->>U:JWT Token Response
deactivate U
deactivate GS
U->>RFE: 3. Open WebView (Project ID, JWT, Character Info)
activate U
activate RFE
RFE->>RBE: 4. Game Asset Info Request
activate RFE
activate RBE
RBE->>GS:5. Game Asset Info Request
activate RBE
activate GS
GS-->>RBE:Game Asset Info Response
deactivate RBE
deactivate GS
RBE-->>RFE:Game Asset Info Response
deactivate RFE
deactivate RBE
RFE-->>U:Game Asset Query Response
deactivate U
deactivate RFE
U->>RFE: 6. Select Burn Quantity and Sign
activate U
activate RFE
RFE->>RBE: 7. Transfer User Signature Value
activate RFE
activate RBE
RBE->>GS: 8. Validator Signature Request
activate GS
activate RBE
GS->>GS: 9. User Request Verification
GS->>GS: 10. Validator Signature
GS-->>RBE: Validator Signature Response
deactivate GS
deactivate RBE
RBE->>RBE: 11. Validator Signature Verification
RBE->>BC: 12. Transaction Request
activate RBE
activate BC
BC-->>RBE: Transaction Result Response
deactivate BC
deactivate RBE
RBE-->>RFE: Transaction Result Response
deactivate RFE
RBE-)GS: 13. Transaction Result Delivery (Webhook)
activate RBE
activate GS
opt Success
GS->>GS: 14. Game Asset Processing<br/>(On Burn Success)
end
GS--)RBE: Transaction Result Receipt Response
deactivate RBE
deactivate GS
deactivate RBE
RFE-->>U: Burn Result Response
deactivate RFE
deactivate U
U ->> U: 15. UI Processing
deactivate U
Flow Diagram Description
The flow up to the user's game asset inquiry is the same as token minting, so please refer to the token minting section.
- User Request Verification
- The game server must verify the validity of
game assets to be given to the user after token burning, based on data received from RAMP B/E. - Unlike token minting,
game assets should be given to users only after the token burning transaction succeeds in the blockchain network.
- Game Asset Processing
- When the transaction succeeds in the blockchain network,
the game server must give game assets to the user.
Updated 6 days ago