Skip to content

Commit 642d29d

Browse files
authored
Merge pull request #5 from ewdlop/ewdlop-patch-2
Create server.py
2 parents 7ad80ff + 888ec2c commit 642d29d

File tree

1 file changed

+53
-0
lines changed

1 file changed

+53
-0
lines changed

App/server.py

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
from flask import Flask, jsonify
2+
from web3 import Web3
3+
import pyopenxr as openxr
4+
5+
# Blockchain Setup (Ethereum Example)
6+
infura_url = "https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID"
7+
web3 = Web3(Web3.HTTPProvider(infura_url))
8+
9+
# Check Connection
10+
if not web3.isConnected():
11+
print("Error: Blockchain connection failed.")
12+
exit()
13+
14+
# Smart Contract ABI and Address (Example Contract for Asset Metadata)
15+
contract_address = "0xYourContractAddress"
16+
contract_abi = [...] # Replace with your smart contract ABI
17+
18+
contract = web3.eth.contract(address=contract_address, abi=contract_abi)
19+
20+
# Flask Server for VR and Blockchain Data
21+
app = Flask(__name__)
22+
23+
@app.route("/world/<location_id>", methods=["GET"])
24+
def get_location_data(location_id):
25+
# Fetch metadata from blockchain
26+
try:
27+
location_metadata = contract.functions.getLocation(location_id).call()
28+
return jsonify({
29+
"location_id": location_id,
30+
"name": location_metadata[0],
31+
"description": location_metadata[1],
32+
"owner": location_metadata[2]
33+
})
34+
except Exception as e:
35+
return jsonify({"error": str(e)})
36+
37+
# VR Integration (Simple OpenXR Initialization)
38+
def initialize_vr_world():
39+
xr_instance = openxr.Instance(application_name="VR Blockchain World")
40+
system_id = xr_instance.get_system()
41+
print("VR System Initialized:", system_id)
42+
43+
session = xr_instance.create_session(system_id)
44+
print("VR Session Created.")
45+
return session
46+
47+
# Main Function to Run App
48+
if __name__ == "__main__":
49+
try:
50+
initialize_vr_world()
51+
app.run(host="0.0.0.0", port=5000)
52+
except Exception as e:
53+
print(f"Error: {e}")

0 commit comments

Comments
 (0)