নিজের node চালানো chain সম্পর্কে কারো কথা মেনে নেওয়া ও নিজে যাচাই করার মধ্যে রেখা। আপনার node স্বাধীনভাবে প্রতিটি consensus নিয়ম প্রয়োগ করে, আর আপনার wallet নীরবে আপনার সব ঠিকানা log করা একটি পাবলিক সার্ভারের বদলে আপনার node-কে জিজ্ঞেস করতে পারে। মানুষ যে দেয়ালে ঠেকে: একটি পূর্ণ archival node 600 GB+ ডিস্ক চায় আর বাড়তে থাকে। একটি pruned node সেটি এড়ায় — এটি তবুও পুরো chain যাচাই করে, তারপর আর দরকার নেই এমন পুরনো block ফেলে দেয়, প্রায় 10–15 GB-তে দাঁড়ায়। সেটি একটি ছোট VPS-এ আঁটে। এই যে সৎ কীভাবে, ও pruning আপনার কী খরচ করে।
একটি node আসলে আপনাকে কী দেয়
- স্বাধীন যাচাই। আপনি নিজে নিয়ম প্রয়োগ করেন। কোনো অবৈধ কিছু আপনার node পার হয় না কারণ এটি একজন অচেনাকে বিশ্বাস করেছিল।
- আপনার নিজের query-র প্রাইভেসি। আপনার wallet আপনার node-কে জিজ্ঞেস করে, আপনি যে প্রতিটি ঠিকানা দেখেন তা দেখা একটি পাবলিক explorer-কে নয়।
- বাকির জন্য একটি ভিত্তি। একটি node হলো সেই ভিত্তি যার ওপর পরে অন্য জিনিস বসে — Lightning, explorer, আপনার নিজের app।
Pruned বনাম full — সৎ মূল
প্রাথমিক sync-এর সময়, আপনার node পুরো chain ডাউনলোড ও যাচাই করে। সেটি মোটামুটি 600 GB bandwidth, একবার। Pruning কেবল পরে কী হয় তা বদলায়: এটি সাম্প্রতিক block রাখে ও পুরনোগুলো ফেলে, তাই চূড়ান্ত ডিস্ক ছোট থাকে।
আপনি যা ছাড়েন তা আসল: একটি pruned node অন্য peer-দের ঐতিহাসিক block পরিবেশন করতে পারে না, আর যেকোনো পুরনো wallet history rescan করতে পারে না। তাই আপনি প্রাথমিক transaction সহ একটি পুরনো wallet import করবেন হলে, আপনার পূর্ণ history দরকার — একটি বড় ডিস্কে একটি full node, একটি pruned নয়। কেবল যাচাই করা ও বর্তমান wallet চালানোর জন্য, pruned ঠিক সঠিক।
আপনার যা দরকার
- ডিস্ক: একটি pruned node-এর জন্য ~15–20 GB — একটি ছোট বক্স ঠিক।
- RAM: 2–4 GB। বেশি
dbcacheপ্রাথমিক sync দ্রুত করে; পরে আপনি এটি কমাতে পারেন। - Bandwidth: এককালীন পূর্ণ ডাউনলোডের জন্য আসল throughput।
- একটি পৌঁছানোযোগ্য IP: পোর্ট 8333-এ inbound peer গ্রহণ করতে ও আসলে নেটওয়ার্ককে সাহায্য করতে, আপনি 8333 খোলা একটি পাবলিক IP চান — একটি dedicated-IP প্ল্যান। NAT-এ আপনি একটি SSH পোর্ট পান ও 8333 খুলতে পারেন না।
সেটআপ
bitcoind ইনস্টল করুন, তারপর একটি ন্যূনতম bitcoin.conf:
prune=10000 # ~10 GB সাম্প্রতিক block রাখুন
dbcache=2048 # দ্রুত প্রাথমিক sync; পরে কমান
listen=1 # inbound peer গ্রহণ করুন
এটিকে systemd-র অধীনে চালান যাতে এটি ক্র্যাশে restart হয় ও একটি reboot-এর পরে ফিরে আসে, ও পোর্ট 8333 খুলুন যাতে peer আপনার কাছে পৌঁছাতে পারে। তারপর এটিকে sync হতে দিন — এটাই দীর্ঘ অংশ, ঘণ্টা থেকে এক-দুই দিন, কারণ এটি genesis থেকে পুরো chain যাচাই করছে।
এটি লক করুন
- শুধু-key SSH, 8333 ও আপনার SSH পোর্টে firewall। (দশ-মিনিটের checklist।)
- কখনও RPC পোর্ট ইন্টারনেটে উন্মুক্ত করবেন না। এটিকে localhost-এ bind করুন ও একটি SSH tunnel-এর মাধ্যমে বা শুধু একই বক্সের app থেকে পৌঁছান। একটি খোলা RPC একটি খোলা দরজা।
সৎ সীমা
- প্রথম sync দীর্ঘ ও bandwidth-ভারী। সেটি সহজাত — শূন্য থেকে chain যাচাই করা এমন একটি ধাপ নয় যা আপনি কনফিগার করে সরাতে পারেন।
- একটি pruned node পুরনো block পরিবেশন বা পুরনো history rescan করতে পারে না। সেগুলো দরকার? সেটি একটি full node ও একটি বড় ডিস্ক।
- Monero একটি ন্যায্য প্রশ্ন, আর সৎ উত্তর scope। এর chain বড় — কয়েকশো GB, আর pruned হলেও প্রায় 90 GB — তাই এটি আমাদের ছোট প্ল্যান যা বহন করে তার চেয়ে বড় ডিস্ক চায়। সেটি একটি ভিন্ন ধরনের বক্সের জন্য একটি full-node গল্প, আর মানায় বলে ভান করার চেয়ে আমরা তা বলাই ভালো মনে করি।
- আপনি এটি maintain করেন: আপডেট, ডিস্ক, মাঝেমধ্যে একটি peer হোঁচট। একটি node একটি ছোট প্রতিশ্রুতি, একটি fire-and-forget নয়।
এর জন্য পরিশোধ
একটি ইমেল দিয়ে sign up করুন ও USDC বা USDT-তে পরিশোধ করুন — কোনো কার্ড, ID নয়। Bitcoin-এর নিজের কোণ চালানোর জন্য পরিশোধের একটি মানানসই উপায়।
মন্তব্য
এখনো কোনো মন্তব্য নেই। প্রথম হোন।