https://github.com/andreaugusto11/satp-gateway-demo
Demo scenarios for the usage of a Blockchain Interoperability gateway, supporting Oracle functionality and the Secure Asset Transfer Protcol (SATP)
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (9.7%) to scientific vocabulary
Repository
Demo scenarios for the usage of a Blockchain Interoperability gateway, supporting Oracle functionality and the Secure Asset Transfer Protcol (SATP)
Basic Info
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
SATP Gateway Demo
This repository contains a demo implementation of a SATP (Secure Asset Transfer Protocol) Gateway, designed to act as middleware between EVM-based blockchains. It supports various interoperability use cases explained below.
Table of Contents
Repository Structure
.
├── EVM/ # Hardhat project for setting up test EVM blockchains
├── gateway/
│ └── oracle/
│ ├── case_1/ # Middleware: Manual READ and WRITE
│ ├── case_2/ # Middleware: Auto READ and WRITE
│ ├── case_3/ # Register polling for periodic READ
│ ├── case_4/ # Event listening + READ and UPDATE
│ └── satp/
│ └── case_1/ # SATP Protocol: Asset transfer between EVM blockchains
Case Descriptions
Oracle Cases (gateway/oracle)
These use cases demonstrate the usage of the gateway as middleware to interact with EVM blockchains:
- Case 1: Manual READ and WRITE operations using the gateway
- Case 2: Automatic READ and WRITE operations using the gateway
- Case 3: Registering a polling task to periodically READ from an EVM blockchain
- Case 4: Cross-chain event listening with subsequent READ and conditional UPDATE actions
SATP Cases (gateway/satp/)
The SATP folder contains secure asset transfer protocol cases.
- Case 1: Coordinated READ and WRITE using the gateway across blockchains, following SATP protocol.
EVM Test Environment
The EVM/ directory contains a Hardhat project used to deploy and simulate blockchain networks and contracts for the various gateway and SATP test cases.
- Located under
EVM/ignition/modules, you will find simple deployment scripts and interaction modules with hardcoded addresses for clarity and reproducibility during testing.
Important Instructions
- Please follow the setup instructions for each case carefully.
Before switching from one case to another, always rerun all setup commands to ensure:
- The environment is fully refreshed
- Contract addresses remain consistent
- No residual data or processes from other cases affect the results
Failure to reset the environment between cases may lead to unexpected behavior due to mismatched or stale blockchain state/configurations.
Setup & Running
Running Cases with the Makefile
You can use the provided Makefile to automate setup and environment preparation for the demo. Run:
bash
make help
to see all available targets for building, deploying, and running the demo cases. The main targets are:
make run-oracle-case-1— Oracle Case 1: Manual READ and WRITEmake run-oracle-case-2— Oracle Case 2: Automatic READ and WRITEmake run-oracle-case-3— Oracle Case 3: Register polling for periodic READmake run-oracle-case-4— Oracle Case 4: Event listening + READ and UPDATEmake run-satp-case-1— SATP Case 1: Asset transfer protocolmake run-all-cases— Run all cases sequentially with cleanup between each
Each case also includes its own README.md with step-by-step instructions for manual or advanced usage.
Note: .PHONY targets are now placed immediately after each script in the Makefile for clarity and maintainability.
Dependencies
- Docker & Docker Compose
- Hardhat
- Python ≥ 3.8
Contact
For questions or collaboration inquiries, feel free to reach out or open an issue on this repository.
Owner
- Name: André Augusto
- Login: AndreAugusto11
- Kind: user
- Location: Lisbon, Portugal
- Website: https://andreaugusto11.github.io
- Repositories: 39
- Profile: https://github.com/AndreAugusto11
Ph.D student | Blockchain Interoperability | Mentor @ Hyperledger
GitHub Events
Total
- Issue comment event: 1
- Member event: 1
- Push event: 22
- Pull request event: 1
- Pull request review event: 1
- Pull request review comment event: 1
- Fork event: 2
- Create event: 4
Last Year
- Issue comment event: 1
- Member event: 1
- Push event: 22
- Pull request event: 1
- Pull request review event: 1
- Pull request review comment event: 1
- Fork event: 2
- Create event: 4
Dependencies
- 640 dependencies
- @nomicfoundation/hardhat-ethers ^3.0.8 development
- @nomicfoundation/hardhat-toolbox ^5.0.0 development
- @openzeppelin/hardhat-upgrades ^3.9.0 development
- ethers ^6.14.1 development
- hardhat ^2.24.0 development
- @openzeppelin/contracts ^5.3.0