TrustLine: Blockchain based Complaint Platform.
TrustLine: Anonymous & Secure Complaint Registration A blockchain-powered platform enabling individuals to report complaints anonymously and securely, ensuring privacy, transparency, and protection.
Created on 29th March 2025
•
TrustLine: Blockchain based Complaint Platform.
TrustLine: Anonymous & Secure Complaint Registration A blockchain-powered platform enabling individuals to report complaints anonymously and securely, ensuring privacy, transparency, and protection.
The problem TrustLine: Blockchain based Complaint Platform. solves
-
Women's Safety & Harassment Complaints
Many women hesitate to report harassment due to fear of retaliation, victim-blaming, or social stigma. -
Workplace Harassment & Misconduct
Employees fear reporting harassment, discrimination, or unethical behavior due to job insecurity or workplace politics. -
Cybercrime & Online Harassment
Victims of cyberstalking, doxxing, or cyberbullying often hesitate to report due to privacy concerns. -
Corruption & Whistleblower Protection
Whistleblowers exposing corruption risk threats, loss of employment, or legal consequences. -
Discrimination & Unfair Treatment in Organizations
Employees facing discrimination based on gender, caste, or religion find it difficult to file complaints due to biased HR processes. -
Fraud & Financial Scams in Companies
Employees or customers who spot fraudulent activities such as money laundering or insider trading fear backlash from management if they report. -
Domestic Violence & Abuse Reports
Victims of domestic violence fear reporting due to social pressure or retaliation from family members.
Challenges we ran into
- MySQL Errors: Missing Fields & Default Values
Initially, we encountered a database error:
(1364, "Field 'email' doesn't have a default value")
This was caused by missing required fields in the INSERT statement during user registration.
Solution:
Updated the database schema to ensure email is provided.
Modified the registration query to correctly include email:
cursor.execute("INSERT INTO users (username, email, password, wallet, role, created_at) VALUES (%s, %s, %s, %s, %s, NOW())",(username, email, hashed_password, wallet, role))
2.Blockchain Transaction Failures
Transactions on Ganache failed due to incorrect gas estimations or missing wallet addresses.
Solution:
Ensured that valid Ethereum addresses were provided during registration.
Used Web3.py to properly estimate gas:
txn = contract.functions.fileComplaint(str(complaint_id)).build_transaction({
'from': eth_address,
'gas': web3.eth.estimate_gas({'from': eth_address}),
'gasPrice': web3.to_wei('5', 'gwei'),
'nonce': web3.eth.get_transaction_count(eth_address)
})
3.Role-Based Access Control (RBAC) Issues
Users could access admin pages by manually entering the URL.
Solution:
Implemented Flask session-based role verification:
@app.route('/police-dashboard')
def police_dashboard():
if 'username' not in session or session['role'] != 'police':
flash("Unauthorized access!", "danger")
return redirect(url_for('login'))
