Skip to content

Commit 95c88ac

Browse files
committed
rename and add deploy
1 parent 3b7c640 commit 95c88ac

File tree

18 files changed

+182
-33
lines changed

18 files changed

+182
-33
lines changed

Dockerfile

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
FROM golang:latest as builder
2+
ARG GOPROXY=https://goproxy.cn
3+
WORKDIR /src
4+
5+
# Install build dependencies using apt (Debian-based image)
6+
RUN apt-get update && apt-get install -y gcc libc6-dev
7+
8+
# Copy source code
9+
COPY . .
10+
11+
# Build the application
12+
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o build/main main.go
13+
14+
# Create final lightweight image
15+
FROM alpine:latest
16+
RUN apk add --no-cache ca-certificates
17+
COPY --from=builder /src/build/main /usr/bin/main
18+
19+
# Run the binary
20+
CMD ["/usr/bin/main"]

deploy/docker-compose.yaml

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
services:
2+
mysql:
3+
image: mysql:8.0
4+
container_name: mysql
5+
environment:
6+
MYSQL_ROOT_PASSWORD: "root"
7+
MYSQL_ROOT_HOST:
8+
restart: always
9+
ports:
10+
- "3367:3306"
11+
healthcheck:
12+
test: [ "CMD", "mysqladmin", "ping", "-h", "localhost" ]
13+
timeout: 45s
14+
interval: 10s
15+
retries: 10
16+
volumes:
17+
- ./mysql/datadir:/var/lib/mysql
18+
- ./init.sql:/docker-entrypoint-initdb.d/init.sql
19+
20+
interopbankend_OPA:
21+
image: interopbankend:latest
22+
container_name: interopbankend_OPA
23+
restart: always
24+
environment:
25+
- LOG_LEVEL=info
26+
- LOG_FORMAT=console
27+
- MYSQL_DATA_SOURCE=root:root@tcp(127.0.0.1:3367)/OPChainA?charset=utf8mb4&parseTime=True&loc=Local&multiStatements=true
28+
- L2_RPC_URL=http://localhost:9545
29+
- BLOCKCHAIN=OPChainA
30+
- BLOCKCHAIN_ID=901
31+
- API_PORT=8098
32+
depends_on:
33+
- mysql
34+
network_mode: host
35+
36+
interopbankend_OPB:
37+
image: interopbankend:latest
38+
container_name: interopbankend_OPB
39+
restart: always
40+
environment:
41+
- LOG_LEVEL=info
42+
- LOG_FORMAT=console
43+
- MYSQL_DATA_SOURCE=root:root@tcp(127.0.0.1:3367)/OPChainB?charset=utf8mb4&parseTime=True&loc=Local&multiStatements=true
44+
- L2_RPC_URL=http://localhost:9546
45+
- BLOCKCHAIN=OPChainB
46+
- BLOCKCHAIN_ID=902
47+
- API_PORT=8099
48+
network_mode: host
49+
depends_on:
50+
- mysql

deploy/init.sql

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
Drop database IF EXISTS OPChainA;
2+
3+
Create Database If Not Exists OPChainA Character Set UTF8;
4+
USE OPChainA;
5+
6+
SET NAMES utf8mb4;
7+
SET FOREIGN_KEY_CHECKS = 0;
8+
9+
SET GLOBAL binlog_format = 'ROW';
10+
11+
12+
Drop database IF EXISTS OPChainB;
13+
14+
Create Database If Not Exists OPChainB Character Set UTF8;
15+
USE OPChainB;
16+
17+
SET NAMES utf8mb4;
18+
SET FOREIGN_KEY_CHECKS = 0;
19+
20+
SET GLOBAL binlog_format = 'ROW';

deploy/start.sh

100644100755
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#!/bin/bash
2+
3+
# Check Foundry is installed
4+
if ! command -v forge &> /dev/null
5+
then
6+
echo "Foundry is not installed. Please install Foundry first."
7+
echo "You can install Foundry using:"
8+
echo "curl -L https://foundry.paradigm.xyz | bash"
9+
exit 1
10+
fi
11+
12+
if ! command -v supersim &> /dev/null
13+
then
14+
echo "SuperSim is not installed. Please install SuperSim first."
15+
echo "Installation instructions for SuperSim..."
16+
exit 1
17+
fi
18+
19+
# Check Foundry version
20+
FOUNDRY_VERSION=$(forge --version)
21+
echo "Foundry version: $FOUNDRY_VERSION"
22+
23+
# Starting SuperSim in background
24+
echo "Starting SuperSim..."
25+
nohup supersim --interop.autorelay > supersim.log 2>&1 &
26+
27+
# Wait for SuperSim to start completely
28+
sleep 5
29+
30+
# Then start the docker-compose service
31+
echo "Starting Docker Compose services..."
32+
docker-compose -f docker-compose.yaml up -d
33+
34+
# Validate network
35+
docker network ls | grep interop_network

deploy/stop.sh

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#!/bin/bash
2+
3+
# Stop Docker Compose services
4+
echo "Stopping Docker Compose services..."
5+
docker-compose -f docker-compose.yaml down
6+
7+
# Stop SuperSim process
8+
echo "Stopping SuperSim..."
9+
pkill -f supersim
10+
11+
# Remove the SuperSim log file
12+
if [ -f supersim.log ]; then
13+
rm supersim.log
14+
fi
15+
16+
# Ask about deleting mysql folder
17+
read -p "Do you want to delete the ./mysql folder? (y/n): " answer
18+
if [ "$answer" = "y" ] || [ "$answer" = "Y" ]; then
19+
echo "Deleting ./mysql folder..."
20+
rm -rf ./mysql
21+
echo "MySQL folder deleted."
22+
fi
23+
24+
echo "All services have been stopped."

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
module github.com/optimism-java/interopbankend
1+
module github.com/optimism-java/interopbackend
22

33
go 1.23.4
44

handler/handler.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package handler
22

3-
import "github.com/optimism-java/interopbankend/internal/svc"
3+
import "github.com/optimism-java/interopbackend/internal/svc"
44

55
func Run(ctx *svc.ServiceContext) {
66
// query last block number

handler/latestBlockNumber.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ package handler
22

33
import (
44
"context"
5-
"github.com/optimism-java/interopbankend/internal/schema"
6-
"github.com/optimism-java/interopbankend/internal/svc"
7-
"github.com/optimism-java/interopbankend/pkg/log"
5+
"github.com/optimism-java/interopbackend/internal/schema"
6+
"github.com/optimism-java/interopbackend/internal/svc"
7+
"github.com/optimism-java/interopbackend/pkg/log"
88
"time"
99

1010
"github.com/pkg/errors"

handler/logFilter.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ import (
55
"github.com/ethereum/go-ethereum"
66
"github.com/ethereum/go-ethereum/common"
77
"github.com/ethereum/go-ethereum/core/types"
8-
"github.com/optimism-java/interopbankend/internal/blockchain"
9-
"github.com/optimism-java/interopbankend/internal/schema"
10-
"github.com/optimism-java/interopbankend/internal/svc"
11-
"github.com/optimism-java/interopbankend/pkg/event"
12-
"github.com/optimism-java/interopbankend/pkg/log"
8+
"github.com/optimism-java/interopbackend/internal/blockchain"
9+
"github.com/optimism-java/interopbackend/internal/schema"
10+
"github.com/optimism-java/interopbackend/internal/svc"
11+
"github.com/optimism-java/interopbackend/pkg/event"
12+
"github.com/optimism-java/interopbackend/pkg/log"
1313
"github.com/pkg/errors"
1414
"math/big"
1515
"strings"

handler/syncBlock.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@ package handler
33
import (
44
"fmt"
55
"github.com/ethereum/go-ethereum/common"
6+
"github.com/optimism-java/interopbackend/internal/schema"
7+
"github.com/optimism-java/interopbackend/internal/svc"
8+
"github.com/optimism-java/interopbackend/pkg/log"
9+
"github.com/optimism-java/interopbackend/pkg/rpc"
610
"github.com/pkg/errors"
711
"gorm.io/gorm"
8-
"interopbankend/internal/schema"
9-
"interopbankend/internal/svc"
10-
"interopbankend/pkg/log"
11-
"interopbankend/pkg/rpc"
1212
"time"
1313
)
1414

handler/syncEvent.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ package handler
22

33
import (
44
"github.com/ethereum/go-ethereum/common"
5+
"github.com/optimism-java/interopbackend/internal/blockchain"
6+
"github.com/optimism-java/interopbackend/internal/schema"
7+
"github.com/optimism-java/interopbackend/internal/svc"
8+
"github.com/optimism-java/interopbackend/pkg/log"
59
"github.com/pkg/errors"
610
"gorm.io/gorm"
7-
"interopbankend/internal/blockchain"
8-
"interopbankend/internal/schema"
9-
"interopbankend/internal/svc"
10-
"interopbankend/pkg/log"
1111
"sync"
1212
"time"
1313
)

internal/api/api.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ package api
22

33
import (
44
"github.com/gin-gonic/gin"
5-
"github.com/optimism-java/interopbankend/internal/schema"
6-
config "github.com/optimism-java/interopbankend/internal/types"
5+
"github.com/optimism-java/interopbackend/internal/schema"
6+
config "github.com/optimism-java/interopbackend/internal/types"
77
"gorm.io/gorm"
88
"net/http"
99
"strconv"

internal/blockchain/blockchain.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ package blockchain
33
import (
44
"github.com/ethereum/go-ethereum/common"
55
"github.com/ethereum/go-ethereum/core/types"
6-
config "github.com/optimism-java/interopbankend/internal/types"
7-
"github.com/optimism-java/interopbankend/pkg/event"
6+
config "github.com/optimism-java/interopbackend/internal/types"
7+
"github.com/optimism-java/interopbackend/pkg/event"
88
)
99

1010
type Event interface {

internal/blockchain/blockchain_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import (
66
"github.com/ethereum/go-ethereum/accounts/abi"
77
"github.com/ethereum/go-ethereum/common"
88
"github.com/ethereum/go-ethereum/crypto"
9-
"github.com/optimism-java/interopbankend/pkg/event"
9+
"github.com/optimism-java/interopbackend/pkg/event"
1010
"math/big"
1111
"testing"
1212
)

internal/svc/svc.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package svc
22

33
import (
44
"context"
5-
"github.com/optimism-java/interopbankend/internal/types"
5+
"github.com/optimism-java/interopbackend/internal/types"
66
"log"
77
"time"
88

main.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@ package main
33
import (
44
"context"
55
"github.com/gin-gonic/gin"
6-
"github.com/optimism-java/interopbankend/handler"
7-
"github.com/optimism-java/interopbankend/internal/api"
8-
"github.com/optimism-java/interopbankend/internal/svc"
9-
"github.com/optimism-java/interopbankend/internal/types"
10-
"github.com/optimism-java/interopbankend/migration/migrate"
11-
"github.com/optimism-java/interopbankend/pkg/log"
6+
"github.com/optimism-java/interopbackend/handler"
7+
"github.com/optimism-java/interopbackend/internal/api"
8+
"github.com/optimism-java/interopbackend/internal/svc"
9+
"github.com/optimism-java/interopbackend/internal/types"
10+
"github.com/optimism-java/interopbackend/migration/migrate"
11+
"github.com/optimism-java/interopbackend/pkg/log"
1212
)
1313

1414
func main() {

migration/migrate/migration.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ package migrate
22

33
import (
44
"github.com/go-gormigrate/gormigrate/v2"
5-
version "github.com/optimism-java/interopbankend/migration"
6-
v0 "github.com/optimism-java/interopbankend/migration/version/v0"
5+
version "github.com/optimism-java/interopbackend/migration"
6+
v0 "github.com/optimism-java/interopbackend/migration/version/v0"
77
"log"
88

99
"gorm.io/gorm"

migration/version/v0/init_schema.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package v0
22

3-
import migration "github.com/optimism-java/interopbankend/migration/version"
3+
import migration "github.com/optimism-java/interopbackend/migration/version"
44

55
type SyncBlock struct {
66
migration.Base

0 commit comments

Comments
 (0)