
@charmbracelet का उपयोग करके एक स्टाइलिश Ethereum ब्राउज़र बनाना
एक सुंदर, टर्मिनल-आधारित एथेरियम वॉलेट और स्मार्ट कॉन्ट्रैक्ट ब्राउज़र जो संप्रभुता, सुरक्षा और शैली के लिए बनाया गया है।
━━━━━━━━━━━━━━━━━━━━
domestic system
━━━━━━━━━━━━━━━━━━━━

द डोमेस्टिक सिस्टम एक टर्मिनल यूज़र इंटरफ़ेस (TUI) है जो एथेरियम (EVM) खातों और स्मार्ट कॉन्ट्रैक्ट्स को ब्राउज़ करने के लिए डिज़ाइन किया गया है। यह तीन मुख्य सिद्धांतों को एक साथ लाता है जो टर्मिनल-आधारित ब्लॉकचेन इंटरैक्शन को न सिर्फ व्यावहारिक, बल्कि बेहतर बनाते हैं।
केवल क्लाइंट-साइड। कोई केंद्रीकृत सर्वर नहीं। सिर्फ आप और ब्लॉकचेन।
द डोमेस्टिक सिस्टम आपकी पसंद के एथेरियम RPC एंडपॉइंट्स से सीधे जुड़ता है। कोई मध्यस्थ नहीं। कोई एनालिटिक्स नहीं। कोई ट्रैकिंग नहीं। ब्लॉकचेन के साथ आपकी बातचीत सीधी और बिना किसी मध्यस्थता के होती है। इसी तरह Web3 को काम करना चाहिए था।
कोई प्राइवेट की मैनेजमेंट नहीं। हार्डवेयर वॉलेट तैयार।
आपकी प्राइवेट कुंजियाँ कभी भी इस एप्लिकेशन को स्पर्श नहीं करतीं। सभी लेन-देन QR कोड के रूप में उत्पन्न होते हैं जो EIP-4527 का अनुसरण करते हैं, विशेष रूप से हार्डवेयर वॉलेट उपकरणों के साथ हस्ताक्षर करने के लिए डिज़ाइन किए गए। अपने खाते देखें, लेन-देन तैयार करें और उन्हें अपने हार्डवेयर वॉलेट पर सुरक्षित रूप से हस्ताक्षरित करें।
Charm.sh के साथ निर्मित। टर्मिनल इंटरफ़ेस, खूबसूरती से किए गए।
शानदार Charm.land इकोसिस्टम (Bubble Tea, Lip Gloss, Huh) का उपयोग करते हुए, द डोमेस्टिक सिस्टम साबित करता है कि CLI को कठोर होने की आवश्यकता नहीं है। समृद्ध रंग, सहज इंटरैक्शन और विचारशील UI डिज़ाइन ब्लॉकचेन इंटरैक्शन में एक रेट्रो-भविष्य की सौंदर्यवादिता लाते हैं।
ये तीन सिद्धांत—संप्रभुता, सुरक्षा और सौंदर्यशास्त्र—टर्मिनल में पूरी तरह से एकाग्र होते हैं। टर्मिनल एप्लिकेशन हैं:
द डोमेस्टिक सिस्टम निचे उपयोग के एक अद्वितीय अंतर्संबंध में स्थित है, उन लोगों की सेवा करता है जो नियंत्रण, सुरक्षा और शिल्प को महत्व देते हैं।
git clone https://github.com/yourusername/domestic-system.git
cd domestic-system
go build
go run .
द डोमेस्टिक सिस्टम अपना कॉन्फ़िगरेशन ~/.charm-wallet-config.json में संग्रहीत करता है।
"स" सेटिंग्स पृष्ठ में या ETH_RPC_URL पर्यावरण चर सेट करके एथेरियम RPC एंडपॉइंट जोड़ें:
export ETH_RPC_URL="https://eth.llamarpc.com"
go run .
main.go में टोकन वॉचलिस्ट संपादित करके कस्टमाइज़ करें कि कौन से ERC-20 टोकन प्रदर्शित हों (जल्द ही UI कॉन्फ़िगरेशन आ रहा है)।
x): हस्ताक्षर कुंजियाँ प्रबंधित करें, वेबकैम के माध्यम से EIP-4527 QR कोड स्कैन करें और लेन-देन पर हस्ताक्षर करेंa दबाएँसक्रिय खाता (★ से चिह्नित) यह निर्धारित करता है कि लेन-देन के लिए कौन सा वॉलेट उपयोग किया जाता है। खाते स्विच करने के लिए:
वैकल्पिक रूप से, वॉलेट पृष्ठ पर नेविगेट करें और किसी भी वॉलेट पर Enter दबाएँ उसके विवरण देखने और उसे सक्रिय करने के लिए।
द डोमेस्टिक सिस्टम में एक पूर्ण EIP-4527 लेन-देन हस्ताक्षर वर्कफ़्लो शामिल है जो TUI के अंदर और स्वतंत्र रूप से टर्मिनल से उपयोग योग्य है।
TUI (कोई भी पृष्ठ) → अहस्ताक्षरित tx पैकेज करता है → EIP-4527 QR कोड प्रदर्शित करता है
↓
साइनर पृष्ठ QR को वेबकैम के माध्यम से स्कैन करता है
↓
UR को डिकोड करता है → संग्रहीत कुंजी से हस्ताक्षर करता है
↓
कच्चा हस्ताक्षरित लेन-देन hex प्रदर्शित करता है
कुंजियाँ ~/.charm-wallet-private-keys.json में संग्रहीत होती हैं (मोड 600, रिपॉजिटरी के बाहर)। पहले रन पर एक NotForProduction डेमो कुंजी स्वचालित रूप से बूटस्ट्रैप की जाती है और इसका पता ~/.charm-wallet-config.json में पंजीकृत किया जाता है।
{
"private_keys": [
{
"address": "0x29c73B201bEE86C4d1Fe4f598C4355Bb210251e3",
"name": "NotForProduction",
"private_key": "0xc0054..."
}
]
}
खाते पृष्ठ से x दबाएँ साइनर खोलने के लिए। वहाँ से:
हस्ताक्षरित लेन-देन (कच्चा hex, tx हैश, r/s/v) स्कैन करने के तुरंत बाद दिखाया जाता है।
signer/eth_signer.py)Python साइनर TUI के बिना स्वतंत्र रूप से चलता है। एक बार निर्भरताएँ स्थापित करें:
pip install -r requirements.txt
सभी आउटपुट JSON है। --scan मोड एक OpenCV विंडो खोलता है जो लाइव कैमरा फ़ीड दिखाता है और पता लगाने पर हस्ताक्षरित लेन-देन stdout पर उत्सर्जित करता है।
cmd/txtest)पूर्ण पैक → डिकोड → हस्ताक्षर राउंड-ट्रिप का अभ्यास करता है सीधे Go मॉड्यूल का उपयोग करके:
# ऑफ़लाइन (हार्डकोडेड परीक्षण पैरामीटर — RPC की आवश्यकता नहीं)
go run ./cmd/txtest
# लाइव nonce/gasPrice/chainId के साथ RPC एंडपॉइंट से
go run ./cmd/txtest --rpc https://eth.llamarpc.com
# कस्टम प्राप्तकर्ता और राशि
go run ./cmd/txtest --to 0xYourAddr --value 0.5 --chainid 11155111
आउटपुट दोनों चरणों को स्पष्ट रूप से दिखाता है:
STEP 1 — Pack unsigned transaction (EIP-4527)
─────────────────────────────────────────────
Transaction fields: { "from": "0x29c7...", "to": "0xd8dA...", ... }
UR: ur:eth-sign-request/onadtpdagd...
STEP 2 — Decode + sign with stored key
───────────────────────────────────────
Decoded transaction: { "from": "0x29c7...", "value": "0.001000 ETH", ... }
Signed transaction: { "txHash": "0x5989...", "raw_transaction": "0xf86b...", ... }
✓ Round-trip complete
ss -ntlp | grep 8545
ssh -N -L 8545:localhost:8545 user@node_machine_ip_address # http के लिए
ssh -N -L 8546:localhost:8546 user@node_machine_ip_address # ws वेबसॉकेट के लिए
आपका एप्लिकेशन, ऐप मशीन पर चल रहा है, अब http://localhost:8545 के माध्यम से एथेरियम नोड के RPC तक पहुँच सकता है
go run helpers/uniswap_v4_listener.go -ws -poolmanager
[-from ]go run ./cmd/v4listener
-ws ws://localhost:8546
-poolmanager 0x000000000004444c5dc75cB358380D2e3dE08A90
go run ./cmd/v4listener
-ws ws://localhost:8546 \ #या ws://mainnet.infura.io/ws/v3/YOUR_KEY
-poolmanager 0x000000000004444c5dc75cB358380D2e3dE08A90
-from 21688000
domestic-system/
├── main.go # प्रवेश बिंदु — Bubble Tea प्रोग्राम को वायर करता है
├── model.go # ऐप स्थिति संरचना + Init()
├── update.go # सभी Update() संदेश हैंडलर
├── view.go # शीर्ष-स्तरीय View() डिस्पैच
├── cmd/
│ ├── txtest/ # एंड-टू-एंड pack → sign परीक्षण CLI
│ └── v4listener/ # स्टैंडअलोन Uniswap V4 ईवेंट लिसनर
├── config/ # JSON कॉन्फ़िग लोड/सेव, प्रकार परिभाषाएँ
├── helpers/ # ENS रिज़ॉल्यूशन, पता स्वरूपण, Uniswap V2/V4
├── rpc/ # एथेरियम RPC क्लाइंट, EIP-4527 लेन-देन पैकेजिंग
├── signer/
│ ├── signer.go # Go पैकेज: कुंजी प्रबंधन, EIP-4527 डिकोड, ECDSA हस्ताक्षर
│ └── eth_signer.py # स्टैंडअलोन Python CLI (समान कार्यक्षमता)
├── styles/ # Lip Gloss रंग और साझा शैलियाँ
├── views/ # प्रति-पृष्ठ रेंडरर
│ ├── wallets/
│ ├── details/
│ ├── settings/
│ ├── dapps/
│ ├── uniswap/
│ ├── terra/
│ └── signer/ # साइनर पृष्ठ रेंडरर
└── webcam/ # कैमरा कैप्चर और आधा-ब्लॉक वीडियो रेंडरिंग
# RPC पैकेज परीक्षण (RPC एंडपॉइंट की आवश्यकता है)
ETH_RPC_URL="https://eth.llamarpc.com" go test ./rpc -v
# सभी परीक्षण
go test ./... -v
योगदान का स्वागत है! यह परियोजना मूल्य देती है:
कृपया बड़ा काम शुरू करने से पहले एक मुद्दा खोलें।
MIT लाइसेंस - विवरण के लिए LICENSE फ़ाइल देखें
निम्नलिखित के साथ निर्मित:
स्व-संप्रभुता के नैतिकता और रेट्रोकम्प्यूटिंग के सौंदर्यशास्त्र से प्रेरित।
द डोमेस्टिक सिस्टम: आपका टर्मिनल, आपकी कुंजियाँ, आपका ब्लॉकचेन।
| कुंजी | क्रिया |
|---|
↑/↓ | हस्ताक्षर कुंजी चुनें |
s | वेबकैम खोलें — पहचाने गए पहले EIP-4527 QR को स्वचालित रूप से हस्ताक्षरित करता है |
a | डिस्क से कुंजियाँ पुनः लोड करें |
c | वर्तमान परिणाम साफ़ करें |
Esc | खातों पर वापस जाएँ |
| कमांड | विवरण |
|---|
python signer/eth_signer.py --generate-keys | एक नई ECDSA कुंजी जोड़ी उत्पन्न करें |
python signer/eth_signer.py --derive-address 0x... | प्राइवेट की से पता प्राप्त करें |
python signer/eth_signer.py --private-key 0x... --to 0x... --value 1000000000000000000 | लेन-देन पर हस्ताक्षर करें |
python signer/eth_signer.py --scan | वेबकैम स्कैन: EIP-4527 QR कोड का पता लगाएं और हस्ताक्षर करें |
python signer/eth_signer.py --add-key --private-key 0x... --name "Wallet" | स्टोर में कुंजी जोड़ें |
python signer/eth_signer.py --list-keys | संग्रहीत पतों की सूची बनाएं |