Skip to content

Digital Ledger Technology to foster Industrial Symbiosis in textile manufacturing.

License

Notifications You must be signed in to change notification settings

tgolfetto/textile-sym-dlt

Repository files navigation

Textile Industrial Symbiosis - Blockchain Solution

A distributed ledger technology (DLT) application enabling sustainable waste management and industrial symbiosis in textile manufacturing districts. Built with R3 Corda, this solution allows textile manufacturers, certification bodies, and municipal authorities to share wastewater pollution data in a secure, standardized, and transparent manner. Read the full dissertation

🎯 Key Features

  • Permissioned Blockchain Network: Private consortium model ensuring data privacy while enabling collaboration
  • Standardized Data Exchange: JSON-based format for tracking hazardous chemicals and sustainability metrics across production processes
  • Automated Certification: Smart contracts that validate wastewater parameters against certification standards
  • Waste Exchange Coordination: Municipality-facilitated matching of wastewater producers and recyclers
  • Multi-Actor Architecture: Distinct roles and permissions for manufacturers, certifiers, and public institutions

🌍 Problem Statement

The textile manufacturing industry is one of the most environmentally impactful sectors, generating massive quantities of wastewater containing hazardous chemicals. This project addresses the critical gap in horizontal Industry 4.0 solutions for textile districts, promoting circular economy principles and reducing environmental impact through digitally-enabled collaboration.

🏗️ Architecture

The solution implements four main information flows:

  1. Textile Firms → Certifiers: Share wastewater pollution data for certification
  2. Certifiers → Textile Firms: Issue sustainability certifications automatically
  3. Textile Firms → Municipality: Request wastewater or communicate surplus
  4. Municipality → Textile Firms: Coordinate waste exchanges between producers

🛠️ Technology Stack

  • Language: Java
  • Blockchain Platform: R3 Corda
  • Build Tool: Gradle
  • Smart Contracts: Custom contracts for data validation and transaction management

📋 Requirements

  • Java 8 SDK
  • Gradle
  • IntelliJ IDEA (recommended, with R3 Corda plugin)

🚀 Getting Started

Running the CorDapp

  1. Open a terminal in the project root directory and deploy the nodes:
./gradlew clean build deployNodes
  1. Run the nodes:
./build/nodes/runnodes

Interacting with the CorDapp

Step 1: Create the network (run on NetworkOperator node):

flow start CreateNetwork

Note the NetworkID returned for subsequent steps. Step 2: 2 Non-member nodes request to join:

flow start RequestMembership authorisedParty: NetworkOperator, networkId: <NetworkID>

Step 3: Query all membership requests (on admin node):

flow start QueryAllMembers

Step 4: Network Operator activates pending memberships for each node type:

flow start ActivateMember membershipId: <MembershipID>

Step 5: Admin creates a subgroup and assigns members:

flow start CreateNetworkSubGroup networkId: <NetworkID>, groupName: Prato_Textile_District, groupParticipants: [<NetworkOperatorID>, <TextileFirmID>, <CertifierID>, <MunicipalityID>]

Step 6-8: Assign business identities to members:

flow start AssignBNIdentity firmType: <FirmType>, membershipId: <MembershipID>, bnIdentity: <BNIdentity>

Step 9: Assign roles for wastewater data sharing:

flow start AssignWasteWaterDataSharingRole membershipId: <MembershipID>, networkId: <NetworkID>

Business Flows

Step 10: Textile firms share wastewater data with certifiers: JSON-WASTEWATER-DATA mock file

flow start SendWasteWaterDataInitiator networkId: <NetworkID>, senderId: <TextileFirmID>, receiver: <CertifierID>, jsonData: <JSON-WASTEWATER-DATA>

Step 11: Certifier queries data state:

run vaultQuery contractStateType: it.polimi.tgolfetto.states.WasteWaterDataState

Step 12: Certifier evaluates and issues certification: JSON-CERT-CRITERIA mock file

flow start SendCertificationInitiator networkId: <NetworkID>, senderId: <CertifierID>, receiver: <TextileFirmID>, criteria: <JSON-CERT-CRITERIA>

Step 13: Textile firm sends waste material requests to municipality:

flow start SendWasteRequestInitiator networkId: <NetworkID>, senderId: <TextileFirmID>, receiver: <MunicipalityID>, send: true/false, qty: <Quantity>, wasteName: <WasteName>, wasteWaterData: <JSON-WASTEWATER-DATA>

Step 14: Municipality responds with available waste providers:

flow start SendWasteResponseInitiator networkId: <NetworkID>, senderId: <TextileFirmID>, receiver: <MunicipalityID>, send: true/false, qty: <Quantity>, wasteName: <WasteName>, wasteWaterData: <JSON-WASTEWATER-DATA>

Step 15: Query states from nodes:

run vaultQuery contractStateType: it.polimi.tgolfetto.states.CertificationState
run vaultQuery contractStateType: it.polimi.tgolfetto.states.WasteWaterDataState
run vaultQuery contractStateType: it.polimi.tgolfetto.states.WasteRequestState
run vaultQuery contractStateType: it.polimi.tgolfetto.states.WasteResponseState

Keywords: Blockchain, Sustainability, Circular Economy, Textile Industry, Industrial Symbiosis, R3 Corda, DLT, Wastewater Management

About

Digital Ledger Technology to foster Industrial Symbiosis in textile manufacturing.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages