মূল কনটেন্টে যান
এআই টিউটোরিয়াল

FastMint FCFS: Binance Agentic Wallet দিয়ে সময়-সংবেদনশীল BSC মিন্ট সম্পন্ন করুন

fastmint-fcfs ইনস্টল ও ব্যবহার শিখুন। এটি একটি AI-এজেন্ট স্কিল, যা সিঙ্ক্রোনাইজড ঘড়ি, ব্লকচেইন হেড এবং RPC সিমুলেশনের মাধ্যমে বিক্রি শুরুর সময় শনাক্ত করে, এরপর নিরাপত্তা যাচাইসহ একটি Binance Agentic Wallet লেনদেনের প্রিভিউ দেখিয়ে তা সম্পন্ন করে।

FastMint FCFS: Binance Agentic Wallet দিয়ে সময়-সংবেদনশীল BSC মিন্ট

fastmint-fcfs কী করে

fastmint-fcfs হলো Claude Code, Codex, Cursor এবং OpenClaw-এর মতো AI এজেন্টের জন্য একটি স্কিল। কোনো সেল শুরু হওয়ার সঙ্গে সঙ্গেই BNB Smart Chain-এ একটি mint, claim বা buy লেনদেন সম্পাদনে এটি সহায়তা করে।

এই টুলটি Binance Agentic Wallet-এর baw CLI ব্যবহার করে। আপনার মেশিন calldata প্রস্তুত করে এবং কখন অনুরোধ পাঠানো হবে তা নির্ধারণ করে, আর Developer Mode-এর মাধ্যমে Binance-এর ব্যাকএন্ডে লেনদেন স্বাক্ষরিত হয়। কোনো private key, seed phrase বা session token মেশিনে সংরক্ষিত হয় না।

Binance-এর wallet flow-তে প্রথমে contract-call preview, তারপর contract-call execute প্রয়োজন হওয়ায় fastmint-fcfs এই ধাপগুলোর সময় নির্ধারণকে অপ্টিমাইজ করে। এটি একটি সংকেতের অপেক্ষায় না থেকে একাধিক স্বতন্ত্র trigger ব্যবহার করে:

  • Clock trigger: NTP-সংশোধিত ঘড়ি ব্যবহার করে সেলের সময় সক্রিয় হয়।
  • Head trigger: যে প্রথম BSC block-এর timestamp opening time-এ পৌঁছায়, সেটি শনাক্ত করে।
  • Simulation trigger: দ্রুততম উপলব্ধ RPC endpoint-গুলোতে eth_call অনুরোধ একসঙ্গে পাঠায়।

প্রথম সফল preview ঠিক একবার execute করা হয়। তখনও চলমান অন্যান্য preview উপেক্ষা করা হয়।

নির্দিষ্ট mint-এর জন্য ব্যবহারকারীর স্পষ্ট নির্দেশ পাওয়ার পরেই এই টুল ব্যবহার করুন। শুধু একটি URL থাকা কোনো লেনদেন পাঠানোর অনুমোদন নয়।

পূর্বশর্ত ও ইনস্টলেশন

প্রয়োজনীয় সফটওয়্যার ইনস্টল করুন

Node.js 20 বা তার পরের সংস্করণ ব্যবহার করুন। repository-তে ethers 6.13 অন্তর্ভুক্ত আছে, তাই project-এর জন্য npm install প্রয়োজন নেই। Binance Agentic Wallet CLI বিশ্বব্যাপী ইনস্টল করুন:

npm install -g @binance/agentic-wallet@1.12.0

Binance App-এ Agentic Wallet এবং Developer Mode চালু করুন। Wallet balance যেন Developer Mode cap-এর নিচে থাকে তা নিশ্চিত করুন। ঐচ্ছিক Binance wallet skill অতিরিক্ত wallet-operation সহায়তা দিতে পারে।

আপনার এজেন্ট যাতে স্কিলটি পড়তে পারে, সে জায়গায় রাখুন

Repository extract করে fastmint-fcfs directory-টি আপনার এজেন্ট ব্যবহৃত skill directory-তে কপি করুন:

# Claude Code, প্রতি project-এর জন্য
mkdir -p .claude/skills
cp -r fastmint-fcfs .claude/skills/

# Claude Code, global ভাবে
mkdir -p ~/.claude/skills
cp -r fastmint-fcfs ~/.claude/skills/

# Codex, Cursor বা অন্যান্য .agents-compatible tool
mkdir -p .agents/skills
cp -r fastmint-fcfs .agents/skills/

chmod +x fastmint-fcfs/fastmint.sh

Wallet-এ sign in করুন

Terminal থেকে একবার sign in করুন:

baw auth signin --json

ফেরত আসা urlForWeb খুলুন, Binance App-এ প্রদর্শিত pairingCode-এর সঙ্গে মিলিয়ে connection অনুমোদন করুন। এরপর session যাচাই করুন:

baw auth verify --qrCodeId <qrCodeId> --json
baw wallet status --json

Wallet status অবশ্যই CONNECTED হতে হবে। Session সর্বোচ্চ 48 ঘণ্টা নিষ্ক্রিয় থাকতে পারে। Session-এর মেয়াদ শেষ হলে agent-কে থামতে হবে এবং আপনাকে আবার sign in করতে বলতে হবে; স্বয়ংক্রিয়ভাবে authentication করার চেষ্টা করা যাবে না।

পরিবেশ পরীক্ষা করুন

Project directory-তে গিয়ে read-only benchmark চালান:

cd fastmint-fcfs
./fastmint.sh bench

Benchmark RPC ranking, WebSocket delay, NTP clock offset, wallet connection, Developer Mode, BNB balance, Agent ID এবং preview timing পরীক্ষা করে। Mint schedule করার আগে এটি একটি কার্যকর প্রাথমিক diagnostic।

macOS-এ Node কোনো certificate chain যাচাই করতে না পারলে project system keychain থেকে একটি CA bundle তৈরি করতে পারে:

./fastmint.sh bench --ca

অন্যান্য environment-এর জন্য NODE_EXTRA_CA_CERTS-এ উপযুক্ত CA file সেট করুন।

ঐচ্ছিক RPC endpoint কনফিগার করুন

Launcher স্বয়ংক্রিয়ভাবে skill directory-র .env file source করে। আপনি premium HTTP এবং WebSocket endpoint যোগ করতে পারেন:

FASTMINT_RPCS_EXTRA=https://<premium-endpoint>
FASTMINT_WS_EXTRA=wss://<premium-endpoint>

সমর্থিত অন্যান্য setting-এর মধ্যে রয়েছে পুরো RPC pool প্রতিস্থাপনের জন্য FASTMINT_RPCS, WebSocket endpoint সেট করার জন্য FASTMINT_WS, local time zone-এর জন্য FASTMINT_TZ এবং Node certificate bundle-এর জন্য FASTMINT_CA। Log-এ endpoint host আড়াল করা হয়।

প্রস্তাবিত ব্যবহারের ধারা

সাধারণত একটি run চারটি পর্যায়ে হয়: environment benchmark করা, mint contract পরিদর্শন করা, preview rehearsal করা এবং তারপর আসল লেনদেন execute করা।

  1. Bench: wallet এবং network environment প্রস্তুত কি না নিশ্চিত করুন।
  2. Recon: contract address, ABI, mint function, arguments, timing এবং প্রাসঙ্গিক getter শনাক্ত করুন।
  3. Dry-run: preview পাঠিয়ে execution-এর আগে থামুন।
  4. Fire: transaction engine চালান এবং preview সব পরীক্ষা পাস করার পর একটি execution অনুমোদন করুন।

1. একটি mint website পরিদর্শন করুন

Mint page-এর বিরুদ্ধে recon চালান:

./fastmint.sh recon https://mint-site

Contract address আগে থেকেই জানা থাকলে সরাসরি দিন:

./fastmint.sh recon https://mint-site --contract 0x...

Recon page এবং প্রাসঙ্গিক JavaScript বা agent document download করে contract address, chain ID, function name, ABI signature এবং timestamp খোঁজে। এটি deployed bytecode যাচাই করে, পাওয়া গেলে Sourcify থেকে ABI সংগ্রহ করে, view function পড়ে এবং অনুমান করা argument, calldata, simulation result ও সম্ভাব্য start time-সহ mint candidate দেখায়।

Opening time, price, free supply, per-wallet limit, Agent ID requirement এবং decoded contract error যাচাই করতে output ব্যবহার করুন। যাচাই না করে অনুমান করা argument-এর ওপর নির্ভর করবেন না।

2. Preview rehearsal করুন

লেনদেন সম্পাদন না করে পরীক্ষা ও প্রিভিউ করতে fire --dry ব্যবহার করুন:

./fastmint.sh fire --to 0xSALE --data 0x195ad114 --start 23:00 --dry

--start অপশনটি Unix সেকেন্ড, স্থানীয় HH:MM[:SS] সময়, অথবা ISO-8601 টাইমস্ট্যাম্প গ্রহণ করে। প্রদর্শিত call মান পরীক্ষা করুন এবং নিশ্চিত করুন যে সিলেক্টর ও আর্গুমেন্টগুলো প্রত্যাশিত ফাংশনকে নির্দেশ করছে।

সময়-নিয়ন্ত্রিত পথ পরীক্ষা করতে হলে --gateSim যোগ করুন। এর ফলে ইতিমধ্যে সফল হওয়া eth_call-এর কারণে কনফিগার করা শুরুর সময়ের আগে রিহার্সাল চালু হবে না।

৩. একটি মিন্ট সম্পাদন করুন

ড্রাই-রান পর্যালোচনা করে স্পষ্ট অনুমোদন পাওয়ার পর, ব্যাকগ্রাউন্ডে লেনদেনটি চালান, যাতে এজেন্ট সাড়া দিতে পারে:

./fastmint.sh fire --to 0xSALE --data 0x195ad114 --start 23:00 --label project_free

প্রিভিউ সফল সিমুলেশন ফিরিয়ে দিলে, ইঞ্জিন একবার baw contract-call execute চালায়। চূড়ান্ত প্রতিবেদনে লেনদেনের হ্যাশ, BscScan লিংক, রসিদ স্ট্যাটাস, পাওয়া অ্যাসেটগুলো (উপলভ্য থাকলে), একটি টাইমলাইন এবং লগের পথ থাকে।

মৌলিক কমান্ডের উদাহরণ

একটি ফাংশন সিগনেচার ব্যবহার করুন

কাঁচা calldata প্রস্তুত করার পরিবর্তে একটি ফাংশন সিগনেচার দিন:

./fastmint.sh fire \
  --to 0xSALE \
  --sig "claimFreeShare()" \
  --start 23:00

পেইড মিন্ট পাঠান

পেইড মিন্টের জন্য একটি স্পষ্ট পরিমাণ এবং তার সঙ্গে মিলে যায় এমন সর্বোচ্চ সীমা প্রয়োজন। উদাহরণস্বরূপ, প্রতিটি 0.005 BNB মূল্যে দুটি শেয়ারের জন্য ব্যবহার করুন:

./fastmint.sh fire \
  --to 0xSALE \
  --sig "buyWithBnb(uint256,address,uint256)" \
  --args '[2,"0x0000000000000000000000000000000000000000",0]' \
  --value 0.01 \
  --maxValue 0.01 \
  --start 23:00

ফ্রি মিন্টে অবশ্যই --value 0 ব্যবহার করতে হবে। ক্যাপ ছাড়া শূন্যের বেশি মান টুল প্রত্যাখ্যান করে এবং --maxValue-এর চেয়ে বেশি মানও প্রত্যাখ্যান করে।

নির্দিষ্ট NFT ফলাফল নিশ্চিত করুন

প্রিভিউতে ঠিক নির্দিষ্ট সংখ্যক NFT ওয়ালেটে আসবে দেখা গেলেই সম্পাদন করতে --expectNft ব্যবহার করুন:

./fastmint.sh fire \
  --to 0xNFT \
  --data 0xa0712d68...0002 \
  --value 0 \
  --expectNft 2

ডায়নামিক আর্গুমেন্ট

প্রতিটি প্রিভিউয়ের ঠিক আগে আর্গুমেন্ট মূল্যায়ন করা যায়। শুরুর সময়ের কাছাকাছি ডেডলাইন, ওয়ালেট ঠিকানা, Agent ID, অথবা কনট্র্যাক্ট কাউন্টার পরিবর্তিত হলে এটি কার্যকর।

  • $wallet BNB Smart Chain-এ সংযুক্ত ওয়ালেটের ঠিকানায় রিজলভ হয়।
  • $agentId ওয়ালেটের নিবন্ধিত হ্যান্ডেল থেকে নির্ণীত Agent ID টোকেন আইডিতে রিজলভ হয়।
  • $zero শূন্য ঠিকানায় রিজলভ হয়।
  • $now+1800 বর্তমান Unix সময়ের সঙ্গে 1,800 সেকেন্ড যোগ করা মানে রিজলভ হয়।
  • {"getter":"totalMinted()","add":1} একটি getter পড়ে এবং তার unsigned integer ফলাফলের সঙ্গে এক যোগ করে।
  • {"getter":"saleStart()","at":"0x..","mul":2} অন্য একটি কনট্র্যাক্ট থেকে getter পড়ে এবং ফলাফলকে গুণ করে।

উদাহরণস্বরূপ, এই কমান্ডটি প্রতিটি প্রিভিউয়ের জন্য Agent ID ও ডেডলাইন নতুন করে নেয়:

./fastmint.sh fire \
  --to 0xSALE \
  --sig "mintFree(uint256,uint256,uint256,uint256,address)" \
  --args '["$agentId","1","0","$now+1800","0x0000000000000000000000000000000000000000"]' \
  --start 21:00

ডায়নামিক কলগুলো গন্তব্য, সিলেক্টর ও মানের ওপর ভিত্তি করে একটি লক কী ব্যবহার করে। তাই আর্গুমেন্ট পরিবর্তন হলেও একই মিন্টের দ্বিতীয় সম্পাদন অনিচ্ছাকৃতভাবে অনুমোদিত হয় না।

সময় ও ট্রিগারের আচরণ

শুরুর সময়ের আগে ও আশেপাশে, ইঞ্জিন একাধিক স্বতন্ত্র ট্রিগার থেকে প্রিভিউ পাঠাতে পারে। ডিফল্ট বার্স্ট তিন সেকেন্ড স্থায়ী হয়, প্রিভিউগুলোর মধ্যে অন্তত 350 মিলিসেকেন্ড বিরতি থাকে এবং একসঙ্গে সর্বোচ্চ তিনটি প্রিভিউ চলতে পারে।

বার্স্টের পর, টাইমআউট পর্যন্ত eth_call লুপ সফল সিমুলেশন খুঁজতে থাকে; ডিফল্ট টাইমআউট 600 সেকেন্ড। ফলে ঘোষিত সময়ের পরে কোনো সেল শুরু হলেও প্রিভিউ সীমা বারবার ব্যবহার না করে টুলটি তা সামলাতে পারে।

উপলভ্য থাকলে কনট্র্যাক্টের Sourcify ABI, বিল্ট-ইন সাধারণ ত্রুটি এবং 4byte ডেটা ব্যবহার করে revert ডিকোড করা হয়। NotStarted, NotOpen ও TooEarly-এর মতো ত্রুটিকে সাময়িক ধরা হয়। SoldOut, FreeGone, AlreadyClaimed, NotEligible ও WrongValue-এর মতো ত্রুটিকে চূড়ান্ত ধরা হয়। অজানা ত্রুটিগুলো fatal হওয়ার আগে grace period পর্যন্ত অপেক্ষা করে।

--waitOn ও --fatalOn নিয়মিত এক্সপ্রেশন ব্যবহার করে শ্রেণিবিন্যাস কাস্টমাইজ করা যায়, তবে কনট্র্যাক্টের ত্রুটির আচরণ ভালোভাবে বুঝলেই তা করুন।

বোঝার মতো সুরক্ষা ব্যবস্থা

  • নির্দিষ্ট মিন্টের জন্য ব্যবহারকারীর স্পষ্ট নির্দেশ টুলটির প্রয়োজন।
  • সম্পাদনের আগে একটি লক ফাইল লেখা হয়, যাতে একই কল আবার সম্প্রচারিত না হয়।
  • ইঞ্জিন কখনো স্বয়ংক্রিয়ভাবে সাইন ইন করে না, প্রাইভেট কী চায় না, বা seed phrase চাইতে পারে না।
  • Binance risk block, risk flag, allowance পরিবর্তন ও authority পরিবর্তন হলে রান থেমে যায়।
  • অনুরোধ করা মান ও গ্যাসের জন্য ওয়ালেটে যথেষ্ট ব্যালান্স থাকতে হবে।
  • প্রিভিউতে simulation code 000000000, একটি request ID, গ্রহণযোগ্য native outflow এবং নিষিদ্ধ ওয়ালেট পরিবর্তনের অনুপস্থিতি থাকতে হবে।
  • PENDING_CONFIRMATION অর্থ ব্যবহারকারীকে Binance App-এ অনুমোদন করতে হবে; লেনদেনটি পুনরায় পাঠানো যাবে না।
  • execute ত্রুটি, reverted transaction বা অনুপস্থিত receipt-এর পর স্বয়ংক্রিয়ভাবে পুনরায় চেষ্টা করবেন না।

আগের রানগুলো পরীক্ষা করতে ব্যবহার করুন:

./fastmint.sh logs
./fastmint.sh locks

নতুন স্পষ্ট ব্যবহারকারী নির্দেশ পাওয়ার পরেই লক মুছুন; কোনো লেনদেন ধীর বা ব্যর্থ মনে হচ্ছে বলে কখনো মুছবেন না।

সমস্যা সমাধান

ওয়ালেট ও Developer Mode-এর ত্রুটি

baw wallet status যদি UNCONNECTED দেখায়, তাহলে ম্যানুয়ালি আবার সাইন ইন করুন। 351802 এবং 351804 কোড সাধারণত নির্দেশ করে যে Developer Mode নিষ্ক্রিয়, মেয়াদোত্তীর্ণ, অথবা ব্যালেন্স সীমার ওপরে রয়েছে। 351803 কোডটি Binance-এর ঝুঁকি-নিরোধক ব্লক এবং এটি বাইপাস করা যাবে না।

সিমুলেশন ও কনট্র্যাক্টের ত্রুটি

Binance-এর ব্যাকএন্ড ওপেনিং ব্লক শনাক্ত করার আগে বারবার 351805 রেসপন্স পাওয়া স্বাভাবিক, তবে এটি ভুল আর্গুমেন্টেরও ইঙ্গিত দিতে পারে। স্থায়ী NotStarted রেসপন্সের অর্থ হতে পারে কনফিগার করা সময়টি ভুল। SoldOut, FreeGone এবং AlreadyClaimed চূড়ান্ত অবস্থা।

AgentIdRequired অথবা NotEligible এর অর্থ হতে পারে যে কলটির জন্য একটি Agent ID আর্গুমেন্ট প্রয়োজন। PaymentLow এবং WrongValue-এর মতো পেমেন্ট ত্রুটির অর্থ হলো সরবরাহ করা BNB-এর পরিমাণ কনট্র্যাক্টের প্রয়োজনীয়তার সঙ্গে মেলে না।

নেটওয়ার্ক ও সার্টিফিকেটের সমস্যা

RPC ধীরগতির হলে বা রেট-লিমিট করা হলে FASTMINT_RPCS অথবা FASTMINT_RPCS_EXTRA কনফিগার করুন। Node যদি UNABLE_TO_GET_ISSUER_CERT_LOCALLY দেখায়, তাহলে ইনস্টলেশন বিভাগে বর্ণিত পদ্ধতিতে একটি CA বান্ডেল তৈরি করুন বা প্রদান করুন।

DNS ইন্টারসেপশনের কারণেও সার্টিফিকেট ত্রুটি দেখা দিতে পারে অথবা অপ্রত্যাশিত ISP ডোমেইন ফেরত আসতে পারে। এনক্রিপ্টেড DNS ব্যবহার করুন অথবা Agent-এর নিয়ন্ত্রণের বাইরে একটি VPN ব্যবহার করুন; সিস্টেমের DNS স্বয়ংক্রিয়ভাবে পরিবর্তন করবেন না।

উপকারী ফাইল ও কমান্ড

প্রধান ফাইলগুলো হলো:

  • fastmint.sh benchmark, recon, fire, log এবং lock কমান্ড চালু করে।
  • fire.js precheck, trigger, preview, execution এবং receipt পরিচালনা করে।
  • recon.js কনট্র্যাক্টের বিবরণ ও mint প্রার্থী শনাক্ত করে।
  • bench.js ওয়ালেট ও নেটওয়ার্ক পরিবেশ পরীক্ষা করে।
  • lib.js RPC racing, WebSocket head, NTP correction, revert decoding এবং ওয়ালেট সহায়ক সুবিধা প্রদান করে।
  • runs/ লগ, preview data, execution data, receipt এবং lock file সংরক্ষণ করে।
  • cache/ ডাউনলোড করা Sourcify ABI সংরক্ষণ করে।

প্রতিটি run log-এ স্থানীয় টাইমস্ট্যাম্প এবং T+x.xxxs offset থাকে। শেষ লাইনটি একটি TIMELINE সারাংশ।

উপসংহার

fastmint-fcfs সময়-সংবেদনশীল BSC mint-এর জন্য কনট্র্যাক্ট reconnaissance, সমন্বিত সময় নির্ধারণ, সমান্তরাল ব্লকচেইন সংকেত, Binance ওয়ালেট preview এবং একবারের execution সুরক্ষা একত্র করে। bench দিয়ে শুরু করুন, recon ব্যবহার করে লক্ষ্য পরীক্ষা করুন, --dry দিয়ে অনুশীলন করুন, এবং calldata, পরিমাণ, ওয়ালেটের অবস্থা ও ব্যবহারকারীর অনুমোদন নিশ্চিত করার পরেই execution করুন।

প্রকল্পটি বর্তমানে BNB Smart Chain লক্ষ্য করে। এর chain ID, RPC pool, Agent ID registry এবং explorer integration BSC-নির্দিষ্ট, তাই এটিকে multi-chain tool হিসেবে ব্যবহার করা উচিত নয়।