פרטי הקורס
פרק 1: מבוא למטבעות קריפטוגרפיים ובלוקצ'יין
0/1
פרק 2: תכנון המטבע הקריפטוגרפי שלך
0/1
פרק 3: הגדרת סביבת הפיתוח שלך
0/1
פרק 4: בניית ליבת הבלוקצ'יין
0/1
פרק 5: פיתוח חוזים חכמים
0/1
פרק 6: הקמת נוד מלא
0/1
פרק 7: בניית סייר בלוקים
0/1
פרק 8: פיתוח ארנק
0/1
פרק 9: ולידטורים וסטייקינג
0/1
פרק 10: הגדרת עמלות עסקה
0/1
פרק 11: אבטחה ונהלים מומלצים
0/1
פרק 12: השקת המטבע הקריפטוגרפי שלך
0/1
פרק 13: פיתוח מתמשך ושדרוגים
0/1
קורס: בניית מטבע קריפטוגרפי מבוסס PoS כמו את'ריום
פרטי השיעור

פרק 8: פיתוח ארנק

מבוא

בפרק זה נלמד כיצד לפתח ארנק למטבע הקריפטוגרפי שלך. הארנק מאפשר למשתמשים לאחסן, לשלוח ולקבל מטבעות. נשתמש ב-JavaScript ובספריית Web3.js כדי ליצור את הארנק.

שלב 1: הגדרת פרויקט הארנק

  1. צור תיקייה חדשה לפרויקט הארנק שלך:

mkdir my-wallet
cd my-wallet

אתחל פרויקט Node.js:

התקן את הספריות הדרושות:

npm install web3 express body-parser

הסבר:

  • Web3.js: ספרייה המאפשרת לך לתקשר עם בלוקצ'יין את'ריום.
  • Express: מסגרת עבודה ל-Node.js לבניית יישומי ווב.
  • Body-parser: ספרייה לעיבוד בקשות HTTP עם נתוני גוף.

שלב 2: יצירת הארנק

  1. צור קובץ בשם wallet.js עם התוכן הבא:

const Web3 = require('web3');
const express = require('express');
const bodyParser = require('body-parser');

const app = express();
const web3 = new Web3('http://localhost:8545'); // כתובת הנוד שלך

app.use(bodyParser.json());

// יצירת ארנק חדש
app.post('/createWallet', (req, res) => {
    const account = web3.eth.accounts.create();
    res.json({
        address: account.address,
        privateKey: account.privateKey
    });
});

// קבלת יתרה של כתובת
app.get('/balance/:address', async (req, res) => {
    const balance = await web3.eth.getBalance(req.params.address);
    res.json({ balance: web3.utils.fromWei(balance, 'ether') });
});

// שליחת טרנזקציה
app.post('/sendTransaction', async (req, res) => {
    const { from, to, amount, privateKey } = req.body;

    const signedTx = await web3.eth.accounts.signTransaction({
        from,
        to,
        value: web3.utils.toWei(amount, 'ether'),
        gas: 2000000
    }, privateKey);

    const receipt = await web3.eth.sendSignedTransaction(signedTx.rawTransaction);
    res.json({ receipt });
});

app.listen(3000, () => {
    console.log('Server running on port 3000');
});

הרץ את השרת:

הסבר:

  • /createWallet: מסלול ליצירת ארנק חדש עם כתובת ומפתח פרטי.
  • /balance/:address: מסלול לקבלת יתרה של כתובת מסוימת.
  • /sendTransaction: מסלול לשליחת טרנזקציה בין כתובות.

שלב 3: בדיקת הארנק

  1. שלח בקשה ליצירת ארנק חדש:

curl -X POST http://localhost:3000/createWallet

שלח בקשה לקבלת יתרה:

curl http://localhost:3000/balance/<כתובת>

שלח בקשה לשליחת טרנזקציה:

curl -X POST -H "Content-Type: application/json" -d '{"from": "<כתובת>", "to": "<כתובת>", "amount": "0.1", "privateKey": "<מפתח פרטי>"}' http://localhost:3000/sendTransaction

 
צפיות מבקרים: 18