*4.2. The Proposed Logical System Architecture*

In the proposed logical system architecture, independent of technology, as illustrated in Figure 3, the CSC external entities, including consultants, sub-contractors, and suppliers, deploy CSC data directly to a blockchain using a smart contract. As discussed in Section 2, the proposed prototype in this study would directly connect supply chain data from "*external entities*" to a blockchain by deploying transactions on top of the ledger utilizing a smart contract method.

In order to centrally link the supply chain data delivery that is operating in blockchain in a BIM platform, blockchain and BIM are connected through a "*REST Application Programming Interface*" (API) that allows access to the CSC data transaction. This allows for the blockchain to centrally link the supply chain data delivery that is operating in blockchain. This subprocess makes it possible to quickly retrieve the history of the data delivery throughout a supply chain for a project. Subsequently, the findings of the selection of a blockchain platform were utilized to translate the independent system architecture (logical system architecture) into the software components of Hyperledger Fabric (*physical system architecture related to technologies*), which will be explained in the following sub-section.

**Figure 3.** The proposed logical system architecture is independent of technology for the BIM single source of truth prototype using blockchain technology.

#### *4.3. The Proposed Physical System Architecture*

The physical system architecture related to technologies has the same components as the logical system architecture: the blockchain network, the REST Application Programming Interface (API), the web server, and the BIM platform. However, the components are demonstrated with a particular technology with sufficient detail for system implementation in the physical system architecture.

In the "*physical system architecture*", the client or system user "*external entity*" refers to an application that is separate from the blockchain and that connects to the ledger in order to perform supply chain data transactions [75]. All authorized prototype users will have immediate access to the blockchain through the "*Node.js console application*" or via graphical user interfaces in the client application, the "*Node.js web application*". For this technologically-related physical system design, the Node.js console application is made available for authorized users so that they may interact directly with the blockchain via the usage of the console [87]. The ordering service and the peers who each have a copy of the ledger and Chaincode are connected to one another over the blockchain network. The BIM platform "*Revit DynaWeb*" accesses the blockchain system using the REST API, supported by a web server on the local machine, providing easy access to the project's CSC data history recorded in the blockchain. It is crucial in today's web-enabled world to provide machine-readable forms of text content, commonly in "Extensible Markup Language" (XML) [88]. The physical system architecture is illustrated in Figure 4. In a blockchain

system, the user (client application) initiates communication with the blockchain. The Chaincode (smart contract) is executed, which comprises the application logic for the CSC attributes' smart contract, in order to obtain or update ledger data (depending on the data model requirements).

**Figure 4.** Physical system architecture for integrating BIM with the Hyperledger Fabric platform (*a blockchain technology platform*).

According to the process flow stated by Qing and Yu-Liu [37], the subsequent step to the development of system architecture is validation by developing a system prototype (system implementation) which will be explained in the following section.

### *4.4. System Prototype (System Implementation)*

The system prototype is used to translate the validated data model into a technological solution utilizing the physical system architecture developed in the previous section. Figure 5 shows the steps involved in a transaction within the proposed system prototype, from the time a data owner (suppliers, sub-contractors, or consultants) invokes (writes) the on-chain attributes on the blockchain network to the time the on-chain attributes are centrally stored (linked) to the BIM platform by the main contractor. For simplicity, the interactions between the REST API and the web server were excluded from the diagram; these operations would occur between the API server node and the BIM platform. The prototype also handles unsuccessful searches and changes, albeit these procedures are not displayed in the figure for readability.

**Figure 5.** The process sequence for a successful transaction in the BIM–blockchain system prototype.Implementing the system prototype included installing "*Hyperledger Fabric v2.3.3* [89]", generating the network to implement and write a Chaincode (smart contract) using the "*JavaScript* [90]" programming language, and establishing an API server node to access "*Revit* [52] *DynaWeb* [91]". This section demonstrates and discusses the smart contract (Hyperledger Fabric Chaincode) development to hand over on-chain data delivery and is linked to the BIM platform, in this case "*Revit DynaWeb*", to provide ready access to the record of on-chain supply chain data delivery transactions.
