0% found this document useful (0 votes)
7 views

1111 Python

Uploaded by

Likith Gagan
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

1111 Python

Uploaded by

Likith Gagan
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 28

1

Table of contents

SI.NO CONTENT PAGE NO


1 INTRODUCTION 3-3
2 OBJECTIVES 4-4
3 SOFTWARE 5-5
REQUIREMENTS
4 SCOPE OF PROJECT 6-6
5 APPROACH USED 7-7
6 FLOWCHART OF HTML 8-12
CODE USED
7 FLOWCHART OF CSS 13-15
CODE
8 FLOWCHART OF 16-19
BLOCHAIN
9 OUTPUT 20-23
10 TEST CASE 24-25
11 CONCLUSION 26-26
12 REFERENCES 27-27

2
Introduction

A land registry system using blockchain technology represents a significant


advancement in the management and documentation of land ownership records.
Traditional land registry systems are often plagued by inefficiencies, lack of
transparency, and susceptibility to fraud and corruption. Blockchain, with its
decentralized and immutable ledger, offers a robust solution to these challenges.
By leveraging blockchain, land registry systems can ensure that every transaction
related to land ownership is securely recorded, easily traceable, and tamper-proof.
This ensures greater trust and reliability in property records, reducing disputes and
enhancing overall governance.

The implementation of blockchain in land registry systems involves the


digitization of all land records and their subsequent entry into a blockchain ledger.
Each record is linked to a unique digital signature, ensuring authenticity and
preventing unauthorized alterations. Smart contracts, another feature of blockchain
technology, can automate and enforce the terms of land transactions, such as
transfers of ownership and payments. This not only streamlines the process but
also eliminates the need for intermediaries, reducing costs and increasing
efficiency. Moreover, the use of blockchain can facilitate easier access to historical
data, providing a transparent view of land ownership and transaction history.

Blockchain-based land registry systems also offer enhanced security and


accessibility. The decentralized nature of blockchain means that there is no single
point of failure, protecting the system from cyber-attacks and data breaches.
Furthermore, since blockchain records are distributed across multiple nodes, they
are continuously validated by the network, making them highly resistant to
tampering. For users, this means that land records can be accessed securely from
anywhere in the world, provided they have the necessary permissions. This global
accessibility is particularly beneficial for cross-border property transactions and for
individuals in remote or underdeveloped regions where traditional land registry
infrastructure may be lacking. Overall, the integration of blockchain technology
into land registry systems promises to revolutionize property management by
providing a more secure, transparent, and efficient solution.

3
Objectives

1. Enhanced Security and Transparency:

 Utilize blockchain's decentralized and immutable nature to prevent


tampering and fraud, ensuring that all transactions and records are
transparent and secure.

2. Efficiency and Cost Reduction:

 Streamline the process of recording, verifying, and transferring land


ownership, reducing the need for intermediaries and minimizing
administrative costs and time delays.

3. Accurate and Up-to-Date Records:

 Maintain a real-time, accurate, and universally accessible record of land


ownership and related transactions, reducing disputes and ensuring clarity in
property rights.

4. Improved Accessibility and Inclusivity:

 Enable wider access to land registry information, especially for marginalized


or underserved communities, by providing a decentralized and user-friendly
platform for land transactions and ownership verification.

4
Software requirements

OPERATING SYSTEM : Windows

LANGUAGES USED : Python , HTML , CSS , Java script , Solidarity

SOFTWARE : Visual Studio Code, Python 3.12(64 bit)

5
Scope of the Project
The " land registry system " project aims to achieve the following objectives:

1. Comprehensive Land Ownership Records:

Implement a digital registry that includes detailed and immutable records of


all land ownership and transactions, providing a transparent and secure
system accessible to authorized users.

2. Automated Verification and Validation:

 Develop smart contracts to automate the verification and validation


processes for land transactions, ensuring compliance with legal requirements
and reducing the need for manual intervention.

3. Integration with Existing Systems:

 Ensure compatibility and integration with existing land management and


governmental systems, facilitating a seamless transition and enhancing
interoperability with other public records and databases.

4.User-Friendly Access and Management:

 Create an intuitive and user-friendly interface for stakeholders, including


landowners, government officials, and legal professionals, enabling easy
access, management, and updating of land records and transaction histories.

6
Approach Used

OPERATING SYSTEM : Windows

LANGUAGES USED : Python , HTML , CSS , Java script , Solidarity

SOFTWARE : Visual Studio Code, Python 3.12(64 bit)

7
FLOWCHART OF HTML CODE USED:

Start

User loads page

User interacts
with form fields

Add Property Button Clicked

Read Property ID, Owner,


and Details

Send Data to Server

Receive Response

8
Display
Responessage

Transfer Property Clicked

Read Property ID and New Owner

Send Data to Server


(POST /add_property)

Receive Response

Display Response Message

Transfer Property Button Clicked

Read Property ID and New Owner

9
Send Data to Server
(POST /transfer_property)

Receive Response

Display Response Message

Get Details Button Clicked

Read Property ID

Send Request to Server

10
Receive Property Details

Display Property Details

End

11
Explanation:

 Start/End: The flowchart starts and ends here.


 User Interacts with Form: This represents the user
interacting with the HTML form elements.
 Add Property Button Clicked: When the user clicks the
"Add Property" button, it triggers the addProperty()
function.
 Transfer Property Button Clicked: When the user clicks
the "Transfer Property" button, it triggers the
transferProperty() function.
 Get Details Button Clicked: When the user clicks the "Get
Details" button, it triggers the getPropertyDetails()
function.
 Send Data to Server: Shows the process of sending data to
the server using fetch API with appropriate endpoints
(/add_property, /transfer_property, /get_property).
 Receive Response: After sending data, the system waits
for a response from the server.
 Display Response Message: Displays the response
message from the server (via alert() in this case).
 Receive Property Details: Shows the process of receiving
property details from the server.
 Display Property Details: Displays the received property
details in the <pre> element.

12
FLOWCHART OF CSS CODE USED :

Start

body
font-family: Arial,
sans-serif;
background-color: #f4f4f4
margin: 0;
padding: 20px;

.container
max-width: 800px;
margin: auto;
background: #fff;
padding: 20px;
border-radius: 8px;
box-shadow: 0 0 10px
rgba(0, 0, 0, 0.1);

13
h1, h2
color: #333;

.form-group
margin-bottom: 15px;

.form-group label
display: block;
margin-bottom: 5px;

.form-group input,
.form-group textarea
width: 100%;
padding: 10px;
box-sizing: border-box;
border: 1px solid #ddd;
border-radius: 4px;

14
button
padding: 10px 15px;
background: #5cb85c;
color: #fff;
border: none;
border-radius: 4px;
cursor: pointer;

button:hover
background: #4cae4c;

pre
background: #f9f9f9;
padding: 10px;
border-radius: 4px;

End

15
FLOWCHART OF CODE OF BLOCKCHAIN USED:

Start

Class Block
index
previous_hash
timestamp
data
hash

Class Blockchain
chain

16
create_genesis_block()
genesis_block
index: 0
previous_hash: "0"
timestamp: current time
data: {"property_id": "0",
"owner": "Genesis",
"details": "Initial block"}
hash: hash_block("Genesis Block")

add_block(data)
last_block = self.chain[-1]
index = len(self.chain)
timestamp = current time
hash = hash_block(data)
new_block index
previous_hash
timestamp
data
hash
self.chain.append(new_block)
return new_block

17
hash_block(data)

block_string = json.dumps(data,sort_keys=True).

encode()

return hashlib.sha256(

block_string).hexdigest()

is_chain_valid()

for i = 1 to len(self.chain)

current_block

previous_block

if current_block.hash !=

hash_block(current_block.data)

return False

if current_block.previous_hash

!= previous_block.hash

return False

return True

18
get_property(property_id)

for block in self.chain:

if block.data.get('property_id') == property_id:

return block.data

return None

End

OUTPUT SCREENSHOOTS:

19
`

Fig 1

Fig 2

20
Fig 3

Fig 4

21
Fig 5

Fig 6

22
Fig 7

Fig 8

23
TEST CASE
Process Test Case Step Description Expected Actual Comments
Output Output
Add Malformed 1 Enter valid data in all Server error Unhandled This tests if
Property JSON sent fields but modify the message error or the system
to server developer console to indicating a unexpected can handle
change the fetch parsing issue behavior unexpected
request body to send data
malformed JSON formats sent
(e.g., missing a from the
comma or quotation client-side.
mark).
Add Valid Input 1 Enter a unique Success Success Pass
Property property ID, owner message: message
name, and property "Property displayed
details in the added
respective fields. successfully!"
Add Empty 1 Leave the property ID Error Error Pass
Property Property ID field blank and enter message: message
data in other fields. "Please enter displayed
a property
ID."
Add Empty 1 Leave the owner Error Error Pass
Property Owner name field blank and message: message
Name enter data in other "Please enter displayed
fields. the owner
name."
Add Empty 1 Leave the property Error Error Pass
Property Details details field blank and message: message
enter data in other "Please enter displayed
fields. property
details."
Transfer Valid 1 Enter a valid property Success Success Pass
Property Transfer ID and new owner message: message
name in the "Property displayed
respective fields. transferred
(Assuming property successfully!"
already exists)
Transfer Invalid 1 Enter an invalid Error Error Pass
Property Property ID property ID and new message: message
owner name. "Property not displayed
found."
Get Valid 1 Enter a valid property Formatted Formatted Pass
Property Property ID ID of an existing JSON JSON
Details property. containing displayed
property
details
Get Invalid 1 Enter an invalid Error Error Pass
Property Property ID property ID. message: message
Details "Property not displayed
found."
Add Valid Input 1 Enter a unique Success Success Pass
Property property ID, owner message: message:
name, and property "Property "Property

24
details in the transferred transferred
respective fields. successfully!" successfully!"
Add Empty 1 Leave the property ID Error Error Pass
Property Property ID field blank and enter message: message:
data in other fields. "Please enter "Please enter
a property a property
ID." ID."
Add Empty 1 Leave the owner Error Error Pass
Property Owner name field blank and message: message:
Name enter data in other "Please enter "Please enter
fields. a property a property
ID." ID."
Add Empty 1 Leave the property Error Error Pass
Property Details details field blank and message: message:
enter data in other "Please enter "Please enter
fields. a property a property
ID." ID."
Transfer Valid 1 Enter a valid property Success Success Pass
Property Property ID ID and new owner message: message:
name in the "Property "Property
respective fields. transferred transferred
(Assuming property successfully!" successfully!"
already exists)
Transfer Invalid 1 Enter an invalid Error Error Pass
Property Property ID property ID and new message: message:
owner name. "Property not "Property not
found." found."
Get Valid 1 Enter a valid property Formatted Formatted Pass
Property Property ID ID of an existing JSON JSON
Details property. containing containing
property property
details details
Get Invalid 1 Enter an invalid Error Error Pass
Property Property ID property ID. message: message:
Details "Property not "Property not
found." found."

25
CONCLUSION
The objective of this project is to apply blockchain technology to a real-
world problem and design a system that revolutionizes the land registry
process. The primary goal is to enhance the security, transparency, and
efficiency of land transactions by leveraging the decentralized and
immutable nature of blockchain. This project aims to develop a
comprehensive digital registry that records land ownership, verifies and
validates transactions through smart contracts, and ensures
accessibility and accuracy of land records. By doing so, we address
common issues such as fraud, disputes, and administrative
inefficiencies, thereby creating a robust and trustworthy land registry
system.

This project has provided valuable insights into how blockchain


technology can be harnessed to solve critical issues in land
management. It has demonstrated the potential of blockchain to
streamline processes, reduce costs, and increase transparency in land
transactions. Additionally, it has highlighted the importance of
integrating modern technology with existing systems to improve overall
functionality and user experience. Through this project, we have gained
a deeper understanding of how technological advancements can
contribute to the development of secure and efficient systems,
ultimately benefiting stakeholders and promoting trust in land
registry operations.

26
REFERENCES USED :-
1.Python Documentation: Official Python Documentation. Python Software
Foundation. [Python.org](https://docs.python.org/3/)

2.NIST Password Guidelines: National Institute of Standards and Technology


(NIST). [NIST.gov]( https://pages.nist.gov/800-63-3/sp800-63b.html)

3.Secure Random Generation: Random module documentation. Python


Software Foundation. [Python.org]
(https://docs.python.org/3/library/random.html)

4.GUI Libraries: Tkinter Documentation. Python Software Foundation. [Tkinter


Overview](https://docs.python.org/3/library/tkinter.html)

5.Nischal . S .tumbeti : complilation using py/flask edition 3

27
28

You might also like