// https://learnweb3.io/courses/9a3fafe4-b5eb-4329-bdef-97b2aa6aacc1/lessons/7296fe93-c7c0-4ea6-a986-ddb40274227f
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol";
// “is” means 是ERC20的一个实例instance 可以理解成继承
contract LW3Token is ERC20 {
// 类似于构造函数 在合约第一次部署时被执行
// 后面这个ERC20是我们继承的ERC20合约的构造函数,因此我们需要用得到的_name _symbol为它初始化
constructor(string memory _name, string memory _symbol) ERC20(_name, _symbol) {
// 在部署的时候为当前的主人(发起transaction的address)制造一些tokens
// 注意solidity中不支持浮点数(小数),他的计数方式是相对于最小数的描述方式:如ERC20 tokens默认为18位,这里的10*10**18代表的是10 full tokens
_mint(msg.sender, 10 * 10 ** 18);
}
}
// 部署在Goerli上后(也可选用其他测试网)可以去https://goerli.etherscan.io/ 查看(复制合约地址进行搜索)
// 查看metamask钱包会发现刚刚发行的个人代币并没有显示出来,
// 这是因为一般只有有名的那几个ERC20代币会被自动检测,像个人发行的这种只能手动添加
// ?为什么显示为0呢
原来是由于.sol文件名和里面的contract名不一致(编译并不会报错)
修改后成功显示10
Read more
区块链安全入门笔记(系列1-10完整版) (seebug.org)
以太坊网络架构解析 (seebug.org)
Solidity 安全:已知攻击方法和常见防御模式综合列表 (seebug.org)
(15) 【Web3漏洞教程】重入漏洞|Solidity安全教程|院长G大 - YouTube
Read more
Hardhat Boilerplate Project | Ethereum development environment for professionals by Nomic Foundation
看到这了
Read more
如何配置本地Remix优先推荐在线Remix https://remix.ethereum.org/
但是由于介质原因总有时候访问不了或者很慢。。
以下记录docker搭建的方式
在本地部署Remix需要准备两个东西:一个是Remix-project,可以理解为Remix的前端;另一个是Remixd,可以理解为Remix的后端
1、部署Remix-project建议使用Docker的方式部署Remix-project:
docker pull remixproject/remix-ide:latest
docker run -p 8080:80 remixproject/remix-ide:latest
Read more
address一串使用加密字符生成的文本
用来代表你在区块链上的账户(公开 安全)like0x01573Df433484fCBe6325a0c6E051Dc62Ab107D1
利用该地址可以进行资金的发放和接收
private keys不可泄漏
相当于address的password
crypto wallet相当于你许多账户address和密码private keys的manager
Read more
以太坊Ethereum
支持智能合约的去中心化区块链
开发者开发的dAPP【Solidity开发】可以运行在EVM以太坊虚拟机上的以太坊网络
可用Solidity编写智能合约并部署到以太坊网络上
程序 以太网网络上所有计算机都复制和处理
网页前端(HTML, CSS, JavaScript) <-> API <-> 资料库
网页前端(HTML, CSS, JavaScript) <-> Smart Contract <-> 区块链Blockchain
以太坊的全球状态不仅包括用户余额也包括每个dapp的状态
PoW vs PoS当前的Ethereum基于PoW,未来会向PoS机制发展(比如在PoW机制下的51%攻击会造成网络崩溃)
PoW:proof of work
获得多少货币取决于你挖矿的工作量(算力越高 时间越长 rewards越多)
PoS:proof of stake
Read more
what is blockchain
在计算机网络的多个节点中共享的分布式,永久的数据库
每个block包含一组交易:例如转移财产,更新区块链的信息
最先出现的是bitcoin network :一种加密电子货币cryptocurrency受此启发才出现的区块链network,例如Ethereum
Block区块链的交易数据以block的形式保存,传输
State初始状态:Genesis State
计算当前State的方法:从Genesis开始,根据到目前为止每个block的transaction状态
Read more