En este video voy a darte un paso a paso de como crear una tienda virtual Blockchain en la red de Ethereum, la principal característica es la de aceptar cripto pagos con los tokens ERC20, vamos a ir desde: crear los contratos inteligentes, crear el backend y por último el frontend.
Para el backend vamos a usar Node.js y el framework Express.js
Y por último para el frontend sencillamente react.js y Bootstrap como framework de css.Para el contrato inteligente vamos a usar #solidity, la librería de #openzeppelin y el framework #truffle.
Hay muchas tecnologías involucradas para crear esta tienda virtual, será muy divertido como estas diferentes tecnologías se unen para dar vida a esta dapp.
Solidity.
Contrato PaymentProcessor.sol:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
contract PaymentProcessor is Ownable {
IERC20 public dai;
event PaymentDone(address payer, uint amount, uint paymentId, uint date);
constructor(address _dai) {
dai = IERC20(_dai);
}
function Pay(uint amount, uint paymentId) external {
dai.transferFrom(msg.sender, owner(), amount);
emit PaymentDone(msg.sender, amount, paymentId, block.timestamp);
}
}
Contrato Dai.sol (mock):
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
contract Dai is ERC20 {
constructor() ERC20("Dai Stable Coin", "DAI"){}
function faucet(address to, uint amount) external{
_mint(to, amount);
}
}
▶️ 3Speak
WoW, tu post esta genial mi amigo, yo soy diseñador web, aunque no tengo mucha experiencia y hay ciertos temas que aun no conozco muy bien, así que voy a guardar tu post por ahí para verlo unas cuantas veces ya que siempre me a gustado aprender cosas o métodos nuevos, gracias por tu aporte!
Gracias estimado. Seguiré hoy con la segunda parte