# NFT Technology for Enhanced Global Digital Registers: A Novel Approach to Tokenization
## 8 Experimental Evaluation
### Functional Testing  
To validate the robustness and correctness of our GlobalDigitalRegistry smart contract, we conducted a comprehensive series of functional tests using the Remix IDE integrated with a local Ganache blockchain. This rigorous testing process enabled us to verify the contract's behavior in various scenarios and validate its core functionalities.  
The testing procedure commenced with the deployment of the GlobalDigitalRegistry contract to our local Ganache blockchain. Upon successful deployment, we utilized the Remix IDE interface to interact with the contract, accessing its full range of functions. Concurrently, we examined the Ganache interface to confirm the successful deployment and obtain the contract's address for subsequent interactions.  
We initiated functional testing by invoking the registerItem function, which is fundamental to our registry system. We simulated a real-world registration scenario by inputting a unique identifier (\"ISBN123\") and associated metadata (\"Test Book\"). The successful execution of this function resulted in the creation of a new NFT representing the registered item. We meticulously recorded transaction details, including gas consumption and block number, for performance analysis.  
Following the registration, we tested the verifyItem function to ensure the system could correctly identify registered items. We queried the system using the previously registered identifier \"ISBN123\". The function returned a boolean value of 'true', confirming that the item was successfully registered and could be verified within the system. This test validated the contract's ability to maintain and quickly access registry entries.  
We conducted additional tests on other critical functions:  
* Ownership Transfer (transferOwnership function): We verified that only the current owner could initiate transfers and that ownership records were accurately updated.
* Metadata Update (updateMetadata function): We ensured that only the current owner could modify item metadata and that updates were correctly stored and retrievable.
* Batch Registration (batchRegister function): We evaluated the contract's capability to handle multiple registrations in a single transaction, simulating scenarios of bulk data entry.
* Item Details Retrieval (getItemDetails function): We verified the accuracy and completeness of stored data by retrieving comprehensive information about registered items.  
Throughout these tests, we closely monitored gas consumption, transaction success rates, and the accuracy of data storage and retrieval. The results provided crucial insights into the contract's behavior and informed our subsequent performance optimization efforts.  
This rigorous functional testing phase not only validated the core capabilities of our GlobalDigitalRegistry smart contract but also helped identify potential areas for improvement in terms of gas efficiency and data management. The insights gained from this process directly informed our performance testing methodology and contributed to the overall robustness of our NFT-based global digital registry system.