លំហសិក្សាធិការកម្ពុជា លំហសិក្សាធិការកម្ពុជា V1.0
ចូល ចុះឈ្មោះ
សេដ្ឋកិច្ចឌីជីថល
93 អ្នកតាមដាន 9 កំពុងតាមដាន 61 អត្ថបទ
មេរៀនទី ៧៖ ការរក្សាទុក Blockchain Data ដោយប្រើ CSV File
មេរៀនទី ៧ នេះផ្ដោតលើការរក្សាទុក Blockchain Data ទៅក្នុង CSV File។ នៅមេរៀនទី ៦ និស្សិតបានបង្កើត Blockchain សាមញ្ញដោយប្រើ Python List ដែលមាន Genesis Block និង Blocks ថ្មីៗ។ ប៉ុន្តែ Blockchain ដែលរក្សាទុកក្នុង Memory នឹងបាត់បង់នៅពេលកម្មវិធីបិទ។ ដូច្នេះ មេរៀននេះណែនាំពីរបៀប Save Blocks ទៅក្នុង blocks.csv, Load Blocks ត្រឡប់មកក្នុង Python, Save Transactions ទៅក្នុង transactions.csv, និង Convert List/Dictionary Data ទៅជា JSON String មុនដាក់ក្នុង CSV។ Python csv module គាំទ្រ reader, writer, DictReader, និង DictWriter សម្រាប់អាន និងសរសេរទិន្នន័យជា row ឬ dictionary form ។ ព្រោះ Block មាន transactions ជា List of Dictionaries យើងត្រូវប្រើ json.dumps() ដើម្បី serialize ទិន្នន័យនេះទៅជា JSON formatted string ហើយ json.loads() ដើម្បី convert ត្រឡប់មក Python object នៅពេល Load ពី CSV; Python documentation ក៏បញ្ជាក់ថា sort_keys=True អាចធ្វើឱ្យ dictionary keys ត្រូវបាន sort ដើម្បីជួយឱ្យ serialization មានលំដាប់ថេរ ។ មេរៀននេះជាជំហានសំខាន់សម្រាប់ Final Project ព្រោះវាធ្វើឱ្យ Blockchain Prototype អាចរក្សាទុក Records បានជាក់ស្តែង មុនបន្តទៅមេរៀនទី៨ ស្តីពី Blockchain Validation និង Tamper Detection។
25 Aug 2026 0 22
មេរៀនទី ៦៖ ការបង្កើត Blockchain សាមញ្ញក្នុង Python Console
មេរៀនទី ៦ នេះផ្ដោតលើការបង្កើត Blockchain សាមញ្ញក្នុង Python Console ដោយយកចំណេះដឹងពីមេរៀនមុនៗមកភ្ជាប់ជាប្រព័ន្ធតែមួយ។ នៅមេរៀនទី ៥ និស្សិតបានរៀនពី Transaction Structure និង Block Structure។ ក្នុងមេរៀននេះ និស្សិតនឹងរៀនបង្កើត Genesis Block, បន្ថែម Block ថ្មី, ភ្ជាប់ Block ដោយប្រើ previous_hash, បង្កើត current hash, រក្សាទុក Blocks ក្នុង Python List និងបង្ហាញ Blockchain នៅក្នុង Console។ Blockchain ត្រូវបានពន្យល់ដោយ NIST ថាជា Ledger ដែលមាន Blocks ភ្ជាប់គ្នាតាម Cryptographic Hashes និងអាចជួយឱ្យការកែប្រែទិន្នន័យត្រូវបានរកឃើញ [1]។ ក្នុងមេរៀននេះ និស្សិតនឹងប្រើ Python modules ដូចជា hashlib, json និង datetime ដើម្បីបង្កើត Hash និង Timestamp សម្រាប់ Block។ Python hashlib ផ្ដល់ interface សម្រាប់ secure hashes ដូចជា SHA-256 [2] ហើយ json.dumps(..., sort_keys=True) ជួយ serialize dictionary ដោយមានលំដាប់ key ថេរ មុនធ្វើ hashing [3]។ មេរៀននេះជាជំហានសំខាន់មុនទៅកាន់មេរៀនទី ៧ ដែលនឹងបន្តទៅ CSV-Based Blockchain Storage។
25 Aug 2026 0 8
មេរៀនទី ៥៖ ការរចនា Transaction និង Block សម្រាប់ Blockchain Console Application
មេរៀនទី ៥ នេះផ្ដោតលើការរចនា Transaction និង Block ដែលជារចនាសម្ព័ន្ធស្នូលរបស់ Blockchain។ នៅមេរៀនមុនៗ និស្សិតបានរៀនពី Python Console Application, Functions, Lists, Dictionaries, CSV File Handling និង SHA-256 Hashing។ មេរៀននេះនឹងភ្ជាប់ចំណេះដឹងទាំងនោះ ដើម្បីបង្កើត Certificate Transaction និង Blockchain Block ដោយប្រើ Python Dictionary។ ក្នុង Project នេះ Transaction មួយតំណាងឱ្យ Certificate Record មួយ ហើយ Block មួយជាក្រុមនៃ Transactions ដែលមាន fields សំខាន់ៗដូចជា index, timestamp, transactions, previous_hash, nonce និង hash។ NIST ពន្យល់ថា Blockchain អាចឱ្យអ្នកប្រើកត់ត្រា Transactions ក្នុង Shared Ledger ហើយ Blocks ត្រូវបានភ្ជាប់គ្នាតាម Cryptographic Hashes ដើម្បីធ្វើឱ្យប្រព័ន្ធមានលក្ខណៈ Tamper-Evident [1]។ Python time module ត្រូវបានប្រើសម្រាប់បង្កើត Timestamp ហើយ Python json module អាចប្រើសម្រាប់បម្លែង Dictionary ទៅជា JSON String មុនធ្វើ Hash [2], [3]។ មេរៀននេះជាមូលដ្ឋានសំខាន់សម្រាប់មេរៀនទី ៦ ដែលនឹងបង្កើត Simple Blockchain ពេញលេញក្នុង Console។
25 Aug 2026 0 7
មេរៀនទី ៤៖ ការប្រើ SHA-256 Hashing និងការពិនិត្យភាពត្រឹមត្រូវនៃទិន្នន័យ
មេរៀនទី ៤ នេះណែនាំនិស្សិតអំពីគោលគំនិតសំខាន់មួយរបស់ Blockchain គឺ Hashing។ បន្ទាប់ពីមេរៀនទី៣ ដែលនិស្សិតបានរៀនពី Console Menu និង CSV File Handling មេរៀននេះបន្តទៅការប្រើ Hash ដើម្បីពិនិត្យភាពត្រឹមត្រូវនៃទិន្នន័យ។ Hash អាចយល់បានថាជា “ស្នាមម្រាមដៃឌីជីថល” របស់ទិន្នន័យ។ ទិន្នន័យដូចគ្នានឹងបង្កើត Hash ដូចគ្នា ប៉ុន្តែបើកែតែអក្សរមួយ Hash នឹងផ្លាស់ប្តូរខ្លាំង។ ក្នុងមេរៀននេះ និស្សិតនឹងប្រើ Python hashlib ដើម្បីបង្កើត SHA-256 hash សម្រាប់អត្ថបទធម្មតា Certificate Record និង CSV Data។ Python Documentation បង្ហាញថា hashlib ផ្ដល់ interface សម្រាប់ secure hash និង message digest algorithms រួមទាំង SHA-256 [1]។ NIST Secure Hash Standard កំណត់លក្ខណៈស្តង់ដាររបស់ SHA-256 ដែលមាន message digest size 256 bits [2]។ មេរៀននេះជាមូលដ្ឋានសំខាន់មុនទៅកាន់ Block Hash, Previous Hash, Blockchain Validation និង Tamper Detection។
25 Aug 2026 0 3
មេរៀនទី ៣៖ ការបង្កើតម៉ឺនុយ Console និងការរក្សាទុកទិន្នន័យជាមួយ CSV
មេរៀនទី ៣ នេះបន្តពីមេរៀនទី ១ និងទី ២ ដោយផ្ដោតលើការបង្កើតកម្មវិធី Python Console ដែលមានម៉ឺនុយប្រើប្រាស់ច្បាស់លាស់ និងការរក្សាទុកទិន្នន័យវិញ្ញាបនបត្រទៅក្នុង CSV File។ នៅមេរៀនទី២ និស្សិតបានរៀនអំពី Functions, Lists, Dictionaries និង Certificate Transactions។ ប៉ុន្តែទិន្នន័យដែលរក្សាទុកក្នុង List នឹងបាត់បង់នៅពេលកម្មវិធីបិទ។ ដូច្នេះ មេរៀនទី៣ណែនាំពី File Storage ដោយប្រើ Python csv module ដើម្បីអាន សរសេរ បន្ថែម និងស្វែងរកទិន្នន័យក្នុង CSV File។ Python Documentation ពន្យល់ថា csv module ផ្ដល់ reader, writer, DictReader និង DictWriter សម្រាប់អាន និងសរសេរទិន្នន័យជា rows ឬ dictionary form [1]។ មេរៀននេះសំខាន់សម្រាប់ Final Project ព្រោះ CSV នឹងត្រូវប្រើសម្រាប់រក្សាទុក certificates, transactions, blocks, verification logs និង audit logs មុនពេលបន្តទៅ Hashing និង Blockchain Structure នៅមេរៀនបន្ទាប់ៗ។
25 Aug 2026 0 6
មេរៀនទី ២៖ ការពិនិត្យ Python និងរចនាសម្ព័ន្ធទិន្នន័យ Blockchain
មេរៀនទី ២ នេះផ្ដោតលើការរំលឹកចំណេះដឹង Python សំខាន់ៗដែលត្រូវប្រើសម្រាប់ការរៀបចំទិន្នន័យ Blockchain។ បន្ទាប់ពីមេរៀនទី ១ ដែលនិស្សិតបានរៀនអំពី Python Console Application, input(), print(), conditions និង loops មេរៀននេះបន្តទៅកាន់ functions, lists និង dictionaries។ គោលបំណងសំខាន់គឺឱ្យនិស្សិតយល់ថា Blockchain មិនចាប់ផ្ដើមពី Block ភ្លាមៗទេ ប៉ុន្តែចាប់ផ្ដើមពី Transaction ដែលជាកំណត់ត្រាទិន្នន័យមួយ។ ក្នុង Project នេះ Transaction មួយអាចតំណាងឱ្យ Certificate Record មួយ ដែលមាន Certificate ID, Student Name, Program, Certificate Title, Issue Date និង Status។ Python Documentation ពន្យល់ថា list គឺជារចនាសម្ព័ន្ធទិន្នន័យសម្រាប់រក្សាទុកធាតុជាច្រើន ហើយ dictionary គឺជារចនាសម្ព័ន្ធ key-value ដែលសមស្របសម្រាប់តំណាងឱ្យកំណត់ត្រាទិន្នន័យមួយ [1]. Blockchain ក៏ប្រើ Transaction ជាធាតុមូលដ្ឋានក្នុង ledger ដែលបន្ទាប់មកត្រូវបានដាក់ចូលក្នុង Block [2]. ដូច្នេះ មេរៀននេះជាជំហានសំខាន់សម្រាប់បង្កើត Certificate Transaction Manager មុននឹងបន្តទៅ CSV Storage, Hashing និង Block Creation។
25 Aug 2026 0 15
មេរៀនទី ១៖ ការរំលឹក Python មូលដ្ឋាន និងការណែនាំអំពី Blockchain
មេរៀននេះណែនាំនិស្សិតឱ្យចាប់ផ្ដើមរៀន Blockchain តាមរយៈការរំលឹកមូលដ្ឋាន Python Programming និងការបង្កើតកម្មវិធី Console Application សាមញ្ញ។ មុនពេលនិស្សិតអាចសរសេរកូដ Blockchain ដូចជា Transaction, Hash, Block, Previous Hash និង Chain Validation ពួកគេត្រូវយល់ជាមុនអំពី print(), input(), variables, conditions, loops និងរបៀបសរសេរកម្មវិធីដែលទទួលទិន្នន័យពីអ្នកប្រើប្រាស់។ បន្ទាប់ពីនោះ មេរៀននេះភ្ជាប់ចំណេះដឹង Python ទៅនឹងគំនិត Blockchain ដូចជា Digital Trust, Data Integrity, Certificate Verification និង Tamper Detection។ Blockchain ត្រូវបានពន្យល់ថាជាប្រព័ន្ធកត់ត្រាទិន្នន័យដែលប្រើ Cryptography ដើម្បីគាំទ្រការពារទិន្នន័យ និងធ្វើឱ្យការកែប្រែទិន្នន័យអាចត្រូវបានរកឃើញ។ NIST បានពន្យល់ថា Blockchain ជាបច្ចេកវិទ្យា Ledger ដែលមានលក្ខណៈ Tamper-Evident និងប្រើ Hashing, Blocks, Transactions និង Consensus Concepts ដើម្បីគាំទ្រការកត់ត្រាទិន្នន័យឌីជីថល [1].
25 Aug 2026 0 110