Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
b70b687
Update version in README files to 2.6
YoshihitoAso Jul 15, 2025
0a067bf
Bump requests from 2.32.3 to 2.32.4 in /tests
dependabot[bot] Jul 15, 2025
37267b3
Bump protobuf from 6.30.2 to 6.31.1 in /tests
dependabot[bot] Jul 15, 2025
bdd4ec8
Bump aiohttp from 3.11.18 to 3.12.14 in /tests
dependabot[bot] Jul 15, 2025
0de18ae
Merge pull request #194 from BoostryJP/dependabot/pip/tests/requests-…
YoshihitoAso Jul 15, 2025
fa0ce6d
Merge pull request #197 from BoostryJP/dependabot/pip/tests/aiohttp-3…
YoshihitoAso Jul 15, 2025
64fed6c
Merge pull request #195 from BoostryJP/dependabot/pip/tests/protobuf-…
YoshihitoAso Jul 15, 2025
de71db2
Bump urllib3 from 2.4.0 to 2.5.0 in /tests
dependabot[bot] Jul 15, 2025
b487762
Merge pull request #196 from BoostryJP/dependabot/pip/tests/urllib3-2…
YoshihitoAso Jul 15, 2025
b2eb42c
Upgrade Dockerfile and dependencies for version 2.6.0_beta1
YoshihitoAso Sep 18, 2025
0b446aa
Merge pull request #198 from BoostryJP/upgarade-2-6-0-beta1
YoshihitoAso Sep 18, 2025
e65dfd6
Upgrade dependencies and refactor web3 middleware for compatibility w…
YoshihitoAso Sep 18, 2025
18abfe8
Merge pull request #199 from BoostryJP/upgrade-web3py-v7
YoshihitoAso Sep 18, 2025
7f48c8f
Update Quorum version to v2.6.0_beta2
YoshihitoAso Sep 22, 2025
e180dd3
Merge pull request #200 from BoostryJP/upgrade-2-6-0-beta2
YoshihitoAso Sep 22, 2025
981ced4
Upgrade quorum image
YoshihitoAso Oct 21, 2025
f5d4945
Merge pull request #201 from BoostryJP/update-quoorum-image-2-6-0
YoshihitoAso Oct 21, 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 README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
# ibet-Network

<p>
<img alt="Version" src="https://img.shields.io/badge/version-2.5-blue.svg?cacheSeconds=2592000" />
<img alt="Version" src="https://img.shields.io/badge/version-2.6-blue.svg?cacheSeconds=2592000" />
</p>

English | [日本語](./README_JA.md)
Expand Down
2 changes: 1 addition & 1 deletion README_JA.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
# ibet-Network

<p>
<img alt="Version" src="https://img.shields.io/badge/version-2.5-blue.svg?cacheSeconds=2592000" />
<img alt="Version" src="https://img.shields.io/badge/version-2.6-blue.svg?cacheSeconds=2592000" />
</p>

[English](./README.md) | 日本語
Expand Down
4 changes: 2 additions & 2 deletions ibet-for-fin-network/general/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# Build Geth in a stock Go builder container
FROM golang:1.23-alpine AS builder
FROM golang:1.25-alpine AS builder

WORKDIR /work

RUN apk add --no-cache make gcc musl-dev linux-headers git

RUN git clone https://github.com/BoostryJP/quorum.git && \
cd quorum/ && \
git checkout v2.5.0
git checkout v2.6.0
RUN cd quorum/ && \
make geth bootnode && \
mv build/bin/geth /usr/local/bin && \
Expand Down
4 changes: 2 additions & 2 deletions ibet-for-fin-network/validator/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# Build Geth in a stock Go builder container
FROM golang:1.23-alpine AS builder
FROM golang:1.25-alpine AS builder

WORKDIR /work

RUN apk add --no-cache make gcc musl-dev linux-headers git

RUN git clone https://github.com/BoostryJP/quorum.git && \
cd quorum/ && \
git checkout v2.5.0
git checkout v2.6.0
RUN cd quorum/ && \
make geth bootnode && \
mv build/bin/geth /usr/local/bin && \
Expand Down
4 changes: 2 additions & 2 deletions ibet-network/general/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# Build Geth in a stock Go builder container
FROM golang:1.23-alpine AS builder
FROM golang:1.25-alpine AS builder

WORKDIR /work

RUN apk add --no-cache make gcc musl-dev linux-headers git

RUN git clone https://github.com/BoostryJP/quorum.git && \
cd quorum/ && \
git checkout v2.5.0
git checkout v2.6.0
RUN cd quorum/ && \
make geth bootnode && \
mv build/bin/geth /usr/local/bin && \
Expand Down
4 changes: 2 additions & 2 deletions ibet-network/validator/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# Build Geth in a stock Go builder container
FROM golang:1.23-alpine AS builder
FROM golang:1.25-alpine AS builder

WORKDIR /work

RUN apk add --no-cache make gcc musl-dev linux-headers git

RUN git clone https://github.com/BoostryJP/quorum.git && \
cd quorum/ && \
git checkout v2.5.0
git checkout v2.6.0
RUN cd quorum/ && \
make geth bootnode && \
mv build/bin/geth /usr/local/bin && \
Expand Down
10 changes: 5 additions & 5 deletions local-network/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
services:
validator-0:
hostname: validator-0
image: ghcr.io/boostryjp/ibet-localnet/validator:v2.5.0
image: ghcr.io/boostryjp/ibet-localnet/validator:v2.6.0
volumes:
- /home/ubuntu/quorum_data/v0:/eth
environment:
Expand All @@ -28,7 +28,7 @@ services:
restart: always
validator-1:
hostname: validator-1
image: ghcr.io/boostryjp/ibet-localnet/validator:v2.5.0
image: ghcr.io/boostryjp/ibet-localnet/validator:v2.6.0
volumes:
- /home/ubuntu/quorum_data/v1:/eth
environment:
Expand All @@ -55,7 +55,7 @@ services:
restart: always
validator-2:
hostname: validator-2
image: ghcr.io/boostryjp/ibet-localnet/validator:v2.5.0
image: ghcr.io/boostryjp/ibet-localnet/validator:v2.6.0
volumes:
- /home/ubuntu/quorum_data/v2:/eth
environment:
Expand All @@ -82,7 +82,7 @@ services:
restart: always
validator-3:
hostname: validator-3
image: ghcr.io/boostryjp/ibet-localnet/validator:v2.5.0
image: ghcr.io/boostryjp/ibet-localnet/validator:v2.6.0
volumes:
- /home/ubuntu/quorum_data/v3:/eth
environment:
Expand All @@ -109,7 +109,7 @@ services:
restart: always
general-0:
hostname: general-0
image: ghcr.io/boostryjp/ibet-localnet/general:v2.5.0
image: ghcr.io/boostryjp/ibet-localnet/general:v2.6.0
volumes:
- /home/ubuntu/quorum_data/g0:/eth
environment:
Expand Down
4 changes: 2 additions & 2 deletions local-network/general/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# Build Geth in a stock Go builder container
FROM golang:1.23-alpine AS builder
FROM golang:1.25-alpine AS builder

WORKDIR /work

RUN apk add --no-cache make gcc musl-dev linux-headers git

RUN git clone https://github.com/BoostryJP/quorum.git && \
cd quorum/ && \
git checkout v2.5.0
git checkout v2.6.0
RUN cd quorum/ && \
make geth bootnode && \
mv build/bin/geth /usr/local/bin && \
Expand Down
4 changes: 2 additions & 2 deletions local-network/validator/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# Build Geth in a stock Go builder container
FROM golang:1.23-alpine AS builder
FROM golang:1.25-alpine AS builder

WORKDIR /work

RUN apk add --no-cache make gcc musl-dev linux-headers git

RUN git clone https://github.com/BoostryJP/quorum.git && \
cd quorum/ && \
git checkout v2.5.0
git checkout v2.6.0
RUN cd quorum/ && \
make geth bootnode && \
mv build/bin/geth /usr/local/bin && \
Expand Down
4 changes: 2 additions & 2 deletions test-network/general/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# Build Geth in a stock Go builder container
FROM golang:1.23-alpine AS builder
FROM golang:1.25-alpine AS builder

WORKDIR /work

RUN apk add --no-cache make gcc musl-dev linux-headers git

RUN git clone https://github.com/BoostryJP/quorum.git && \
cd quorum/ && \
git checkout v2.5.0
git checkout v2.6.0
RUN cd quorum/ && \
make geth bootnode && \
mv build/bin/geth /usr/local/bin && \
Expand Down
4 changes: 2 additions & 2 deletions test-network/validator/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# Build Geth in a stock Go builder container
FROM golang:1.23-alpine AS builder
FROM golang:1.25-alpine AS builder

WORKDIR /work

RUN apk add --no-cache make gcc musl-dev linux-headers git

RUN git clone https://github.com/BoostryJP/quorum.git && \
cd quorum/ && \
git checkout v2.5.0
git checkout v2.6.0
RUN cd quorum/ && \
make geth bootnode && \
mv build/bin/geth /usr/local/bin && \
Expand Down
99 changes: 21 additions & 78 deletions tests/e2e_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@
from eth_utils import keccak, to_checksum_address
from web3 import Web3
from web3.datastructures import AttributeDict
from web3.exceptions import ContractLogicError, TimeExhausted
from web3.middleware import geth_poa_middleware
from web3.exceptions import ContractLogicError, TimeExhausted, Web3RPCError
from web3.middleware import ExtraDataToPOAMiddleware

from tests.config import (
CHAIN_ID,
Expand All @@ -34,7 +34,7 @@
from tests.util import ContractUtils, TestAccount

web3 = Web3(Web3.HTTPProvider(WEB3_HTTP_PROVIDER))
web3.middleware_onion.inject(geth_poa_middleware, layer=0)
web3.middleware_onion.inject(ExtraDataToPOAMiddleware, layer=0)


# NOTE:
Expand Down Expand Up @@ -226,7 +226,7 @@ def test_normal_3_1(self, contract):
ContractUtils.send_transaction(tx, TestAccount.private_key)
block_to = web3.eth.block_number
events = contract.events.SetItem.get_logs(
fromBlock=block_from, toBlock=block_to
from_block=block_from, to_block=block_to
)

# Assertion
Expand All @@ -251,7 +251,7 @@ def test_normal_3_2(self):
contract = ContractUtils.get_contract(DEPLOYED_CONTRACT_ADDRESS)
block_number = contract.functions.optional_item().call()
events = contract.events.SetItem.get_logs(
fromBlock=block_number, toBlock=block_number
from_block=block_number, to_block=block_number
)

# Assertion
Expand Down Expand Up @@ -300,83 +300,26 @@ def test_normal_6(self, contract):
if not isinstance(txpool, dict) and not isinstance(txpool, AttributeDict):
assert False

# <Normal_7>
# Unlock and send transaction
# - personal_listAccounts(Geth API)
# - personal_unlockAccounts(Geth API)
# - eth_send_transaction
# - eth_getTransactionReceipt
def test_normal_7(self, contract):
# Import raw key
try:
web3.geth.personal.import_raw_key(
TestAccount.private_key, TestAccount.password
)
except ValueError:
pass

# Unlock account
eth_account = web3.geth.personal.list_accounts()[0]
web3.geth.personal.unlock_account(eth_account, TestAccount.password, 10)

# Send transaction
args = [
False,
"0x0123456789ABCDeF0123456789aBcdEF01234568",
"test text2",
4,
8,
b"456789abcdefghijklmnopqrstuvwxyz",
]
tx = contract.functions.setItem2(*args, 0).build_transaction(
transaction={
"chainId": CHAIN_ID,
"from": eth_account,
"gas": TX_GAS_LIMIT,
"gasPrice": 0,
}
)
tx_hash = web3.eth.send_transaction(tx)
txn_receipt = web3.eth.wait_for_transaction_receipt(
transaction_hash=tx_hash, timeout=10
)

# Assertion
assert txn_receipt["status"] == 1
assert contract.functions.item2_bool().call() is False
assert (
contract.functions.item2_address().call()
== "0x0123456789ABCDeF0123456789aBcdEF01234568"
)
assert contract.functions.item2_string().call() == "test text2"
assert contract.functions.item2_uint().call() == 4
assert contract.functions.item2_int().call() == 8
assert (
contract.functions.item2_bytes().call()
== b"456789abcdefghijklmnopqrstuvwxyz"
)
assert contract.functions.getItemsValueSame().call() == 5

# <Normal_8_1>
# <Normal_7_1>
# Get bytecode(contract address)
# - eth_getCode
def test_normal_8_1(self, contract):
def test_normal_7_1(self, contract):
# Get bytecode
bytecode = web3.eth.get_code(contract.address)

# Assertion
contract_json = ContractUtils.get_contract_json()
assert bytecode.hex() == f'0x{contract_json["deployedBytecode"]}'
assert bytecode.to_0x_hex() == f'0x{contract_json["deployedBytecode"]}'

# <Normal_8_2>
# <Normal_7_2>
# Get bytecode(EOA address)
# - eth_getCode
def test_normal_8_2(self, contract):
def test_normal_7_2(self, contract):
# Get bytecode
bytecode = web3.eth.get_code(TestAccount.address)

# Assertion
assert bytecode.hex() == "0x"
assert bytecode.to_0x_hex() == "0x"

###########################################################################
# Error Case
Expand Down Expand Up @@ -408,7 +351,7 @@ def test_error_1(self, contract):
signed_tx = web3.eth.account.sign_transaction(
transaction_dict=tx, private_key=TestAccount.private_key
)
tx_hash = web3.eth.send_raw_transaction(signed_tx.rawTransaction.hex())
tx_hash = web3.eth.send_raw_transaction(signed_tx.raw_transaction.to_0x_hex())
txn_receipt = web3.eth.wait_for_transaction_receipt(
transaction_hash=tx_hash, timeout=10
)
Expand Down Expand Up @@ -442,7 +385,7 @@ def test_error_2(self, contract):
signed_tx = web3.eth.account.sign_transaction(
transaction_dict=tx, private_key=TestAccount.private_key
)
tx_hash = web3.eth.send_raw_transaction(signed_tx.rawTransaction.hex())
tx_hash = web3.eth.send_raw_transaction(signed_tx.raw_transaction.to_0x_hex())
txn_receipt = web3.eth.wait_for_transaction_receipt(
transaction_hash=tx_hash, timeout=10
)
Expand Down Expand Up @@ -476,7 +419,7 @@ def test_error_3(self, contract):
signed_tx = web3.eth.account.sign_transaction(
transaction_dict=tx, private_key=TestAccount.private_key
)
tx_hash = web3.eth.send_raw_transaction(signed_tx.rawTransaction.hex())
tx_hash = web3.eth.send_raw_transaction(signed_tx.raw_transaction.to_0x_hex())
txn_receipt = web3.eth.wait_for_transaction_receipt(
transaction_hash=tx_hash, timeout=10
)
Expand Down Expand Up @@ -539,19 +482,19 @@ def test_error_5(self, contract):
)

# Send Transaction (1): success
tx_hash = web3.eth.send_raw_transaction(signed_tx.rawTransaction.hex())
tx_hash = web3.eth.send_raw_transaction(signed_tx.raw_transaction.to_0x_hex())
txn_receipt = web3.eth.wait_for_transaction_receipt(
transaction_hash=tx_hash, timeout=10
)
calculated_tx_hash = keccak(signed_tx.rawTransaction)
calculated_tx_hash = keccak(hexstr=signed_tx.raw_transaction.to_0x_hex())
assert tx_hash == calculated_tx_hash
assert tx_hash == txn_receipt["transactionHash"]

# Send Transaction (2): nonce too low
with pytest.raises(
ValueError, match="{'code': -32000, 'message': 'nonce too low'}"
Web3RPCError, match="{'code': -32000, 'message': 'nonce too low'}"
):
_ = web3.eth.send_raw_transaction(signed_tx.rawTransaction.hex())
_ = web3.eth.send_raw_transaction(signed_tx.raw_transaction.to_0x_hex())

# <Error_6>
# Occur ERROR
Expand Down Expand Up @@ -582,14 +525,14 @@ def test_error_6(self, contract):
)

# Send Transaction (1): sent but not executed
tx_hash = web3.eth.send_raw_transaction(signed_tx.rawTransaction.hex())
tx_hash = web3.eth.send_raw_transaction(signed_tx.raw_transaction.to_0x_hex())
with pytest.raises(TimeExhausted):
_ = web3.eth.wait_for_transaction_receipt(
transaction_hash=tx_hash, timeout=10
)

# Send Transaction (2): already known
with pytest.raises(
ValueError, match="{'code': -32000, 'message': 'already known'}"
Web3RPCError, match="{'code': -32000, 'message': 'already known'}"
):
_ = web3.eth.send_raw_transaction(signed_tx.rawTransaction.hex())
_ = web3.eth.send_raw_transaction(signed_tx.raw_transaction.to_0x_hex())
Loading
Loading