Skip to content

HSU-Blocker/Blocker_Blockchain_Network

Blocker Blockchain

Overview

This repository implements a blockchain-based software update and address registry system used for developing and testing secure on-chain update distribution. It contains a local test blockchain network, services for registering contract addresses, and scripts to deploy and interact with software update smart contracts.

Blockchain Network Flow

  1. Start the local blockchain test network (blockchain-server) which runs one or more test nodes and exposes JSON-RPC and WebSocket endpoints for local development and testing.
  2. The registry-service deploys or registers the AddressRegistry contract and maintains known contract addresses on-chain.
  3. Deployment scripts in update_service deploy the SoftwareUpdateContract and register its address with the registry when required.
  4. Services and test clients subscribe to contract events over WebSocket to detect deployments and state changes in real time.
  5. Integration tests interact with the same local network and services to validate contract behavior and service orchestration.

Development Environment

  • Recommended OS: macOS (zsh) or Linux
  • Required tools: Docker, Docker Compose, Python 3.9+ and pip
  • Smart contract compilation: solc (py-solc-x recommended)
  • Tests: pytest

Technology Stack

  • Blockchain FOSSA Status Local test network for contract development and testing
  • Smart Contract Solidity contracts for registry and update logic
  • Web3 Web3.py for blockchain interaction
  • WebSocket Real-time event subscriptions from nodes
  • Flask Optional backend services used by registry/update services
  • Docker / Docker Compose for containerized local development and orchestration

Installation

See install.md for detailed installation and run instructions. The repository includes Docker Compose configurations for local development and integrated tests.

Repository Structure

CODE_OF_CONDUCT.md
install.md
LICENSE
README.md
blockchain-server/
	docker-compose.yml
	Dockerfile
registry-service/
	docker-compose.yml
	Dockerfile
	registry_address.json
	requirements.txt
	contracts/
		AddressRegistry.sol
	deploy/
		deploy_registry.py
tests/
	docker-compose.yml
	Dockerfile
	registry/
		test_address_registry.py
	update/
		test_software_update.py
update_service/
	contract_address.json
	docker-compose.yml
	Dockerfile
	requirements.txt
	contracts/
		SoftwareUpdateContract.sol
	deploy/
		deploy_contract.py
		get_software_update_address.py

License

This project is licensed under the MIT License. See LICENSE for details.


Contributions and questions are welcome via Issues and Pull Requests.

FOSSA Status

About

블록체인 기반 IoT 소프트웨어 업데이트 플랫폼 - 블록체인

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •