ශ්‍රී ලංකාවේ නවතම තාක්ෂණික පුවත් 2026-07-28, Tuesday
💻 ක්‍රමලේඛනය · 🕒 කියවීමට විනාඩි 2 · 👁 1

Solana පරීක්ෂණ අසාර්ථකත්වයෙන් ලැබූ මූලික පාඩම – එක් වරක් පමණක් ලෙඩ්ජ් එකට ලියන්න

Solana පරීක්ෂණ අසාර්ථකත්වයෙන් ලැබූ මූලික පාඩම – එක් වරක් පමණක් ලෙඩ්ජ් එකට ලියන්න

Solana සමඟ 100 දින පුරාවට ගත කරමින්, පසුගිය දිනක ලේඛන-ඇතුළත් කිරීමේ (proof‑of‑ship) කුඩා Anchor වැඩසටහනක් නිර්මාණය කළේය. වසර ගණනාවක් REST API ලියමින් ගත කළ පසු, රස්ට් (Rust) හෝ බ්ලොක්චේන් කෝඩ් එකකට කවදාවත් අත නොදැමීම නිසා, මෙම ව්‍යාපෘතියේ අරමුණ වූයේ වොලට් එකකින් එක් වරක් පමණක් යැවීමේ තොරතුරු සදාකාලිකව සටහන් කිරීමයි.

වැඩසටහනේ නීතිය ඉතා සරල – එක් වොලට් එකකට එක් ship රෙකෝඩ් එකක් පමණක්. එය PDA (Program Derived Address) හි seeds = [b"ship", builder.key().as_ref()] ලෙස නිර්ණය කරයි. එම නිර්දේශිත ලිපිනයට දෙවන වරක් ඇතුළත් කිරීමට උත්සාහ කළහොත්, init ක්‍රියාවලිය අසාර්ථක වෙයි, මන්ද ඒ ලිපිනයේ දත්ත දැනටමත් පවතින බැවින්.

පරීක්ෂණ දෙකක් ලියන ලදි. එකක් happy‑path පරීක්ෂණය – ship() ක්‍රියාවලිය කැඳවමින්, ලෙඩ්ජ් එකේ නම සහ builder සත්‍යය පරීක්ෂා කිරීම. දෙවන පරීක්ෂණය, එය පසුගාමී අර්ථය ලබාදෙයි: "එක් වොලට් එකට එක් වරක් පමණක් ship කිරීමට ඉඩ ඇත" යන නීතිය සැබවින්ම ක්‍රියාත්මක වෙයිදැයි පරීක්ෂා කිරීම. මෙහි වැදගත් කාරණය වන්නේ, පරීක්ෂණය අසාර්ථක වීමේ හේතුව ඔබගේ කේතයේ if‑statement එකක් නොව, Solana runtime එකේ PDA හි දත්ත තිබීමයි.

Web2 ලෝකයේ, පරීක්ෂණය සාමාන්‍යයෙන් happy‑path එක පරීක්ෂා කරන අතර, අසාර්ථක පාරිභෝගිකයන් ගැන කල්පනා නොකරයි. නමුත් blockchain පරිසරය අන්‍ය වැඩසටහන්, වොලට්, ගනුදෙනු සමඟ බෙදා ගත වන නිසා, අවලංගු ඉල්ලීම් ප්‍රතික්ෂේප වන බව පරීක්ෂා කිරීම අත්‍යවශ්‍ය. මේ නිසා, දෝෂ‑පාරිභෝගික පරීක්ෂණයක් (failure‑path test) අත්‍යවශ්‍ය ආරක්ෂක තලයක් බවට පත්වේ.

ශ්‍රී ලංකාවට ඇති වැදගත්කම

  • ඩිවෙලොපර්ලාට – Solana වැනි permissionless blockchain මත නිවැරදි පරීක්ෂණ සැලසුම් කිරීමේ අත්දැකීම ලැබේ.
  • සිසුන්ට – blockchain ආරක්ෂණයේ “ඕනෑම දෙයක් වැරදි නොවීම” සංකල්පය තේරුම්ගැනීමට ප්‍රායෝගික උදාහරණයක්.
  • ව්‍යාපාරිකයින්ට – අධික ආරක්ෂාව අවශ්‍ය ව්‍යාපාරික smart contract එකක් නිර්මාණය කරන විට, failure‑path test එකක් අනිවාර්ය බව තේරුම්ගත හැක.

අවසන් වශයෙන්, මෙම කුඩා capstone එකේ පරීක්ෂණ දෙකක් (happy‑path සහ failure‑path) devnet එකේ නිකුත් කර, React wallet‑adapter එකක් සමඟ සම්බන්ධ කර, භාවිතා කරන්නාට “එක් වරක් පමණක් ship කිරීම” නීතිය අසාර්ථක වීමේ දෝෂ පණිවුඩයක් (toast) ලෙස බ්‍රවුසරයේ පෙන්විය හැකි විය. මේ අත්දැකීම, blockchain වැඩසටහන් ලියන කෙනෙකුට “අසාර්ථක පරීක්ෂණයක් ලියන්න” යන මූලික උපදෙස් දෙයි.

ඉදිරියට, ඔබේ smart contract එකේ නීති පද්ධතිය runtime එකේ පාලනය කරන බව සලකා, ඒ නීති පද්ධතිය පරීක්ෂා කරන පරීක්ෂණ ලිවීම අත්‍යවශ්‍ය බව අමතක නොකරන්න.

💡 ඔබේ smart contract පරීක්ෂණය අදම අරඹන්න!
මූලාශ්‍රය මෙම ලිපිය AI මගින් රචිත මුල් සාරාංශයකි. සම්පූර්ණ වාර්තාව කියවන්න:
Dev.to ↗
#Solana #Testing #Blockchain #Rust #Web3