tWallet v1 (Neutrino)
نسخه v1 سری پیشنهادی tWallet است. این نسخه از پروتکل کلاینت سبک Neutrino (BIP157/BIP158) برای همگامسازی بدون تکیه بر سرورهای شخص ثالث Electrum استفاده میکند.
قابلیتها
- FLND داخلی: (Flokicoin Lightning Network Daemon) برای عملیات لایتنینگ یکپارچه.
- انواع آدرس: segwit (BIP173) و taproot (BIP341, BIP342).
- فرمت بذر (Seed): aezeed (بذر LND، فرمت جدید) برای پشتیبانگیری و بازیابی.
نوع آدرس پیشفرض segwit است. میتوانید از طریق تنظیم addresstype=segwit|nested-segwit|taproot در فایل twallet.conf آن را تغییر دهید.
چرا Neutrino؟
- داخلی: پروتکل Neutrino مستقیماً در tWallet ادغام شده است و نیازی به سرور خارجی ندارد.
- کاهش نیاز به اعتماد: شما هدرها را تایید میکنید و از فیلترهای بلوک فشرده استفاده میکنید؛ هیچ سرور واحدی نمیتواند نمای شما از زنجیره را دیکته کند.
- حریم خصوصی: پرسوجوها در یک سرور Electrum متمرکز نمیشوند.
نصب
sh -c "$(curl -fsSL https://raw.githubusercontent.com/myfloki/community-tools/main/downloader.sh)"
پس از نصب، دستور twallet را اجرا کنید.
برای جزئیات بیشتر در مورد اجزای همراه، به myfloki.com مراجعه کنید.
آخرین نسخه ۱.۰.۹-بیتا را از گیتهاب دانلود و استخراج کنید.
فایل را استخراج کرده و در صورت نیاز مجوز اجرا به فایل باینری بدهید:
tar -xvf twallet-*.tar.gz
chmod +x twallet
پیکربندی
شما میتوانید twallet را بدون فایل پیکربندی اجرا کنید؛ تنها زمانی فایل ایجاد کنید که به تنظیمات سفارشی نیاز دارید (مثلاً اجرای کیف پول دوم).
یک فایل twallet.conf در کنار فایل باینری یا در دایرکتوری دادههای اپلیکیشن خود ایجاد کنید. مثال حداقلی:
# walletdir = ./loki
# addresstype = segwit # segwit | nested-segwit | taproot
# feeurl = https://lokichain.info/api/v1/fees/recommended
# debuglevel = info
# connectiontimeout = 50s
# rpclisten = 127.0.0.1:10005 # RPC API
# restlisten = 127.0.0.1:5050 # REST API
# restcors = * # CORS برای REST API
# transactiondisplaylimit=121
نمونه کامل (همراه با توضیحات) — برای باز شدن کلیک کنید
; ============================================================================
; گزینههای عمومی اپلیکیشن
; ============================================================================
; دایرکتوری برای پایگاه داده کیف پول.
; walletdir=./loki
; سطح لاگ برای تمامی زیرسیستمها {trace, debug, info, warn, error, critical}.
; پیشفرض 'info' است.
; debuglevel=info
; سطح لاگ برای اپلیکیشن twallet {trace, debug, info, warn, error, fatal, panic}.
; پیشفرض 'info' است.
; loglevel=info
; استفاده از گذرواژه پیشفرض برای قفل کردن.
; اگر 'autounlock' روی true تنظیم شده باشد، این مورد الزامی است.
; defaultpassword=pass
; باز کردن خودکار قفل کیف پول در هنگام شروع با استفاده از defaultpassword.
; هشدار: این مورد گذرواژه شما را به صورت متن ساده در این فایل پیکربندی ذخیره میکند.
; با احتیاط و فقط در محیطهای امن استفاده کنید.
; autounlock=false
; حداکثر تعداد تراکنشها برای نمایش.
; این مورد بر تعداد تراکنشهای دریافتی داخلی تأثیری ندارد؛ فقط تعداد نمایش داده شده در یک لحظه را محدود میکند.
; transactiondisplaylimit=121
; بازنشانی تراکنشهای کیف پول در هنگام شروع برای اجرای اسکن کامل مجدد.
; اگر مشکوک به گم شدن تراکنشها هستید از این مورد استفاده کنید.
; resetwallettransactions=false
; ============================================================================
; پیکربندی زنجیره و On-Chain
; ============================================================================
; تنظیمات شبکه (فقط یکی میتواند true باشد).
; اگر هر دو regtest و testnet روی false باشند، mainnet به صورت پیش فرض استفاده میشود.
; استفاده از شبکه تست رگرسیون.
; regtest=false
; استفاده از شبکه تست.
; testnet=false
; نوع آدرس برای تولید (taproot، segwit یا nested-segwit).
; پیشفرض 'segwit' است.
; addresstype=segwit
; آدرس API سفارشی تخمین کارمزد (اختیاری).
; آدرس زیر فقط یک مثال است — میتوانید آن را با ارائهدهنده کارمزد خود جایگزین کنید.
; فرمت پاسخ مورد انتظار:
; {"fastestFee":1,"halfHourFee":1,"hourFee":1,"economyFee":0,"minimumFee":0}
; feeurl=https://lokichain.info/api/v1/fees/recommended
; ============================================================================
; هویت نود (Node Identity)
; ============================================================================
; نام مستعار نود (حداکثر ۳۲ کاراکتر UTF-8).
; نود شما به این نام برای دیگران در شبکه نمایش داده میشود.
; پیشفرض 'MyLokiNode' است.
; alias=MyLokiNode
; رنگ نود در فرمت هگز (مثلاً '#da9526').
; برای شخصیسازی ظاهر نود در نمودارها استفاده میشود.
; پیشفرض '#da9526' است.
; color=#da9526
; ============================================================================
; شبکه P2P و اتصال
; ============================================================================
; مقدار زمان انتظار (timeout) برای اتصالات شبکه {ms, s, m, h}.
; پیشفرض '50s' است.
; connectiontimeout=50s
; افزودن یک رابط/پورت برای گوش دادن به اتصالات همتا (ورودی).
; هر خط یک آدرس. مثال: listen=0.0.0.0:5521
; listen=0.0.0.0:5521
; غیرفعال کردن گوش دادن به اتصالات ورودی همتا.
; اگر میخواهید یک نود خصوصی اجرا کنید (فقط اتصالات خروجی) روی true تنظیم کنید.
; nolisten=false
; اتصال فقط به همتاهای مشخص شده در هنگام شروع (حالت انحصاری).
; connect=node.example.org
; افزودن همتاها برای اتصال در هنگام شروع (علاوه بر همتاهای کشف شده).
; هر خط یک همتا. فرمت: hostname:port یا ip:port
; پورت پیشفرض P2P فلوکیکوین ۱۵۲۱۲ است.
; addpeer=peer1.example.com:15212
; addpeer=peer2.example.com:15212
; اگر true باشد، یک تأخیر تصادفی بین ۰ تا ۳۰ ثانیه در هنگام اتصال مجدد به همتاهای دائمی در شر وع اعمال میشود.
; به کاهش هجوم اتصال در هنگام راهاندازی مجدد نود کمک میکند.
; stagger-initial-reconnect=false
; --- Tor Configuration ---
; فعال کردن Tor برای اتصال P2P.
; در صورت فعال بودن، نود از پروکسی SOCKS تور برای اتصالات خروجی استفاده میکند
; و یک سرویس مخفی برای اتصالات ورودی ایجاد میکند.
; tor.active=false
; آدرس host:port که پروکسی SOCKS تور روی آن گوش میدهد.
; پیشفرض localhost:9050 است.
; tor.socks=localhost:9050
; سرور DNS به صورت host:port که تور برای پرسوجوهای SRV استفاده خواهد کرد.
; توجه: باید قابلیت TCP resolution فعال باشد.
; پیشفرض ln.myfloki.com:53 است.
; tor.dns=ln.myfloki.com:53
; آدرس host:port که تور برای اتصالات کنترلی روی آن گوش میدهد.
; برای ایجاد سرویسهای مخفی (آدرسهای onion) الزامی است.
; پیشفرض localhost:9051 است.
; tor.control=localhost:9051
; --- اعلام عمومی (Public Announcement) ---
; افزودن ip:port برای اعلام به شبکه جهت اتصالات ورودی.
; اگر آدرس IP عمومی استاتیک دارید ا ز این مورد استفاده کنید.
; هر خط یک IP. مثال: externalip=55.10.16.10:5521
; externalip=
; افزودن یک hostname:port که باید به صورت دورهای برای اعلام IPها حل (resolve) شود.
; اگر IP داینامیک با نام میزبان DNS دارید (مثلاً DynDNS، No-IP) از این مورد استفاده کنید.
; FLND به طور خودکار نام میزبان را حل کرده و IP اعلام شده شما را بهروز میکند.
; اگر پورت مشخص نشود، پورت پیشفرض (۵۵۲۱) استفاده خواهد شد.
; هر خط یک نام میزبان. مثال: externalhosts=mynode.ddns.net:5521
; externalhosts=
; تغییر وضعیت پشتیبانی از پیمایش NAT (با استفاده از UPnP یا NAT-PMP).
; به طور خودکار آدرس IP خارجی خود را به شبکه اع لام کنید.
; اگر پشت روتر هستید و میخواهید اتصالات ورودی را بپذیرید مفید است.
; nat=false
; ============================================================================
; پیکربندی RPC و REST API
; ============================================================================
; افزودن یک رابط/پورت/سوکت برای گوش دادن به اتصالات RPC.
; هر خط یک آدرس.
; مثال: rpclisten=127.0.0.1:10005
; rpclisten=127.0.0.1:10005
; افزودن یک رابط/پورت/سوکت برای گوش دادن به اتصالات REST.
; هر خط یک آدرس.
; مثال: restlisten=127.0.0.1:5050
; restlisten=127.0.0.1:5050
; افزودن یک ip:port یا نام میزبان برای اجازه دسترسی cross-origin به REST API.
; هر خط یک ورودی.
; مثالها:
; restcors=http://localhost:3000
; restcors=https://mydomain.com
; --- گزینههای TLS ---
; افزودن یک IP اضافی به گواهینامه تولید شده. هر خط یک IP.
; tlsextraip=0.0.0.0
; افزودن یک دامنه اضافی به گواهینامه تولید شده. هر خط یک دامنه.
; tlsextradomain=localhost
; تولید مجدد گواهینامه و کلید TLS در صورت تغییر IPها یا دامنهها.
; به طور پیشفرض برای اطمینان از اعتبار گواهینامه هنگام تغییر تنظیمات شبکه فعال است.
; tlsautorefresh=true
; ============================================================================
; پیکربندی کانال (Channel Configuration)
; ============================================================================
; حداکثر تعداد کانالهای معلق ورودی مجاز برای هر همتا.
; پیشفرض ۱ است. اگر میخواهید چندین کانال از یک همتا را بپذیرید، این مقدار را افزایش دهید.
; maxpendingchannels=1
; اگر true باشد، نود برای اجازه دادن به کانالهای بزرگتر از ۵ FLC پیکربندی میشود.
; اگر میخواهید کانالهای بزرگ (Wumbo) را بپذیرید از این گزینه استفاده کنید.
; پیشفرض false است.
; wumbo-channels=false
; بزرگترین اندازه کانال (به واحد Loki) که باید بپذیریم.
; کانالهای ورودی بزرگتر از این مقدار رد خواهند شد.
;
; اگر wumbo-channels روی false باشد (پیشفرض)، حداکثر مقدار مجاز ۵۰۰,۰۰۰,۰۰۰ Loki (معادل ۵ FLC) است.
; اگر میخواهید کانالهای بزرگتری بپذیرید (مثلاً ۲۱۰ FLC)، باید wumbo-channels=true را در بالا تنظیم کنید.
;
; پیشفرض ۵۰۰,۰۰۰,۰۰۰ Loki (معادل ۵ FLC) است.
; maxchansize=500000000
; کوچکترین اندازه کانال (به واحد Loki) که باید بپذیریم.
; کانالهای ورودی کوچکتر از این مقدار رد خواهند شد.
; پیشفرض ۲۰,۰۰۰ Loki (معادل ۰.۰۰۰۲۰۰۰۰ FLC) است.
; minchansize=20000
; ============================================================================
; پیکربندی Routing و Forwarding
; ============================================================================
; اگر true باشد، lnd هیچ HTLC که به عنوان پرداخت بعدی در نظر گرفته شده است را فوروارد نخواهد کرد.
; برای اجرا در حالت "فقط کیف پول" (بدون روتینگ) استفاده کنی د.
; rejecthtlc=false
; کوچکترین HTLC که فوروارد خواهیم کرد (به واحد milli-Loki).
; پیشفرض ۱ milli-Loki است.
; minhtlc=1
; کارمزد پایه بر حسب milli-Loki که برای فوروارد پرداختها دریافت میکنیم.
; این یک کارمزد ثابت است که به هر پرداخت فوروارد شده اضافه میشود.
; پیشفرض ۱۰۰۰ milli-Loki (معادل ۱ Loki) است.
; basefee=1000
; نرخ کارمزد مورد استفاده هنگام فوروارد کردن پرداختها (بر حسب میلیونیوم).
; Total fee = basefee + (amount × feerate / 1,000,000)
; مثال: feerate=100 ب ه معنای ۰.۰۱٪ (100 ppm) است.
; پیشفرض ۱۰۰ (۰.۰۱٪) است.
; feerate=100
; مقدار CLTV delta که از مقدار قفل زمانی یک HTLC فوروارد شده کم خواهیم کرد.
; این تعداد بلاکهایی است که برای امنیت هنگام فوروارد کردن نیاز دارید.
; پیشفرض ۴۰۰ بلاک است.
; timelockdelta=400
; حداکثر تعداد بلاکهایی که وجوه میتواند در هنگام فوروارد پرداختها قفل شود.
; این یک محدودیت امنیتی برای جلوگیری از قفل شدن وجوه برای مدت طولانی است.
; پیشفرض ۱۰۰۸۰ بلاک است (۷ روز با بلاکهای ۱ دقیقهای).
; max-cltv-expiry=10080
; پذیرش پرداختهای خودبخودی از طریق keysend (پرداختهای بدون فاکتور).
; برای فعال کردن دریافت پرداختهای keysend روی true تنظیم کنید.
; accept-keysend=false
; پذیرش پرداختهای خودبخودی از طریق AMP (Atomic Multi-Path Payments).
; برای فعال کردن دریافت پرداختهای AMP روی true تنظیم کنید.
; accept-amp=false
; ============================================================================
; پیکربندی Network Graph و Gossip
; ============================================================================
; تعداد همتاهایی که باید بهروزرسانیهای جدید گراف را از آنها دریافت کنیم.
; مقادیر بالاتر آگاهی بهتری از شبکه فراهم میکنند اما پهنای باند بیشتری مصرف میکنند.
; پیشفرض ۳ است. پیشنهادی: ۳-۵ برای نودهای روتینگ، ۱-۲ برای نودهای "فقط کیف پول".
; numgraphsyncpeers=3
; فاصله زمانی نظرسنجی (polling) بین تلاشهای همگامسازی گراف تاریخی.
; فرمت: مدت زمان با واحد (مثلاً 20m, 1h, 30s).
; پیشفرض ۲۰ دقیقه است.
; historicalsyncinterval=20m
; اگر true باشد، به دادههای تاریخی که با محدوده مشخص شده توسط
; gossip_timestamp_filter یک همتای راه دور مطابقت دارد، پاسخ نمیدهد.
; برای کاهش مصرف پهنای باند روی true تنظیم کنید.
; ignore-historical-gossip-filters=false
; ============================================================================
; پیکربندی瞭望塔 (Watchtower)
; ============================================================================
; فعال کردن واچتاور ادغام شده برای کمک به محافظت از کانالهای شما در زمان آفلاین بودن.
; واچتاور بلاکچین را برای یافتن موارد نقض امنیت کانال مانیتور میکند.
; watchtower=false
; دایرکتوری برای وضعیت واچتاور.
; اگر مشخص نشود، از یک زیردایرکتوری در walletdir استفاده میکند.
; watchtower.towerdir=
; ============================================================================
; گزینههای پروتکل
; ============================================================================
; اجازه دادن به نود برای پذیرش و قرض دادن کانالهای تایید نشده (zero-conf).
; این مورد اجازه میدهد کانالها بلافاصله پس از پخش تراکنش تامین بودجه قابل استفاده باشند،
; اما با ریسکهای اعتماد همراه است.
; protocol.option-zeroconf=true
; اجازه دادن به نود برای پذیرش و ارائه مستعار SCID برای کانالهای خصوصی.
; برای حریم خصوصی و کانالهای zero-conf مفید است.
; protocol.option-scid-alias=true
; ============================================================================
; عملکرد و تنظیمات دقیق
; ============================================================================
; زمان بر حسب میلیثانیه بین هر بار انتشار اطلاعیهها در شبکه.
; مقادیر کمتر gossip را سریعتر پخش میکنند اما پهنای باند بیشتری مصرف میکنند.
; پیشفرض ۹۰۰۰ (۹ ثانیه) است.
; trickledelay=9000
; فاصله زمانی نظرسنجی بین تلاشها برای تشخیص اینکه آیا یک کانال فعال
; به دلیل آفلاین شدن همتای خود، غیرفعال شده است یا خیر.
; فرمت: رشته مدت زمان (مثلاً 1m, 30s).
; پیشفرض 1m است.
; chan-status-sample-interval=1m
; ============================================================================
; فاکتورها (Invoices)
; ============================================================================
; تعداد بلاکهایی که فاکتور در وضعیت پذیرفته شده باقی میماند
; قبل از اینکه لغو شود.
; پیشفرض ۰ است.
; hodl.expiry-delta=0
اجرا
در مکاواس/لینوکس:
./twallet
در ویندوز:
twallet.exe
اگر سیستمعامل شما فایل باینری را مسدود کرد، آن را به طور صریح تایید کنید.
مدیریت با لوکیهاب (Lokihub)
در حالی که tWallet نود اصلی FLND را فراهم میکند، اکثر کاربران ترجیح میدهند از یک رابط کاربری اختصاصی برای مدیریت عملیات لایتنینگ استفاده کنند. لوکیهاب اپلیکیشن مکمل پیشنهادی برای این منظور است.
اتصال سریع
برای اتصا ل لوکیهاب به نود tWallet در حال اجرای خود: ۱. لوکیهاب را باز کنید (روی همان کامپیوتر). ۲. گزینه "Automated Connection" (یا انتخاب "Local Node") را انتخاب کنید. ۳. لوکیهاب به طور خودکار اعتبارنامههای لازم را از دایرکتوری دادههای tWallet شما دریافت میکند.
پیکربندی دستی
اگر از دستگاه دیگری متصل میشوید یا اتصال خودکار ناموفق بود، به اعتبارنامههای نود خود نیاز خواهید داشت:
- کلیدهای CTRL + N را در tWallet فشار دهید.
- این کار پنجرهای شامل آدرس gRPC، Macaroon Hex و گواهینامه TLS شما را باز میکند.
- این موارد را در جادوگر تنظیمات لوکیهاب کپی کنید.
مشاهده راهنمای تنظیم لوکیهاب ←
محل ذخیره دادهها
به طور پیشفرض، tWallet تنظیمات، لاگها و تمامی دادههای زیربنایی نود FLND (شامل پایگاه داده کانالها و فایلهای کیف پول) را در دایرکتوری دادههای اپلیکیشن سیستمعامل شما ذخیره میکند.| سیستمعامل | مسیر پیشفرض |
|---|---|
| لینوکس | ~/.flnd/ |
| مکاواس | ~/Library/Application Support/Flnd/ |
| ویندوز | %APPDATA%\Flnd\ |
دایرکتوری .flnd/ خانه یکپارچه برای هر دو کیف پول روی زنجیره و وضعیت نود لایتنینگ شماست. همیشه قبل از انجام تغییرات یا مهاجرت سیستم، از کل دایرکتوری .flnd/ نسخه پشتیبان تهیه کنید.
حیاتی: پشتیبانگیری لایتنینگ
برخلاف کیف پولهای سنتی، عبارت بذری ۲۴ کلمهای وجوه کانال لایتنینگ شما را بازیابی نمیکند. بذر فقط وجوه موجود در کیف پول روی زنجیره (on-chain) شما را بازیابی میکند.برای محافظت از نقدینگی کانال خود، باید موارد زیر را درک کنید:
۱. ** Static Channel Backups (SCB)**: نود شما یک فایل channel.backup ایجاد میکند (در مسیر .flnd/data/chain/flokicoin/mainnet/). این فایل برای بازیابی وجوه از کانالهای باز در صورت خرابی سختافزار الزامی است.
۲. Seed + SCB: برای بازیابی کامل یک نود، به هردوی بذر ۲۴ کلمهای و جدیدترین فایل channel.backup نیاز دارید.
۳. ریسک channel.db: هرگز سعی نکنید نسخه قدیمی فایل channel.db را بازیابی کنید. اگر یک وضعیت کانال قدیمی را در شبکه منتشر کنید، همتاهای شما ممکن است یک "تراکنش تنبیهی" (penalty transaction) را اجرا کنند که منجر به از دست رفتن کامل وجوه شما در آن کانال میشود.
همیشه اطمینان حاصل کنید که یک نسخه پشتیبان خودکار یا مکرر از فایل channel.backup خود دارید. بدون آن، در صورت از دست رفتن دادههای محلی، وجوه قفل شده در کانالهای لایتنینگ قابل بازیابی نیستند.
محل داده سفارشی
اگر میخواهید کیف پول خود را روی یک درایو خارجی یا یک پارتیشن خاص ذخیره کنید، از پرچم walletdir یا گزینه پیکربندی استفاده کنید:
./twallet --walletdir /path/to/custom/folder
استفاده پیشرفته
اجرای چندین نمونه (Multiple Instances)
شما میتوانید چندین کیف پول مستقل را روی یک دستگاه با مشخص کردن دایرکتوریهای داده و پورتهای منحصر به فرد اجرا کنید.
۱. ایجاد دایرکتوری دوم: mkdir ~/twallet-alt
۲. راهاندازی با پورتهای سفارشی:
./twallet --walletdir ~/twallet-alt --rpclisten 127.0.0.1:11005 --restlisten 127.0.0.1:6060
۳. هویت منحصر به فرد: اطمینان حاصل کنید که هر نمونه دارای یک alias متفاوت در فایل twallet.conf مربوط به خود است.
حذف نصب (Uninstallation)
برای حذف کامل tWallet از سیستم خود:
۱. حذف فایل باینری: فایل twallet (یا twallet.exe) را حذف کنید.
۲. پاکسازی دادهها: دایرکتوری دادههای پیشفرض را حذف کنید (به بخش محل ذخیره دادهها در بالا مراجعه کنید).
۳. پاکسازی لاگها: اگر مسیرهای لاگ سفارشی را پیکربندی کردهاید، مطمئن شوید که آن فایلها نیز حذف شدهاند.
حذف نصب و پاک کردن دایرکتوری دادهها، پایگاه داده محلی رمزگذاری شده شما را برای همیشه حذف میکند. قبل از انجام این کار مطمئن شوید که عبارت بذری ۲۴ کلمهای خود را دارید.