Web 3.0与区块链
Web 3.0中最重要的是用户拥有自己的数据,那么也就是说我们的数据不能存储在任何中心化的存储上。这时候就需要区块链这种去中心化的技术了。
所以,也有人说所谓的Web 3.0,其实就是运行在区块链技术上的去中心化互联网。
利用区块链技术,我们每一个人都可以是链上的一个节点,而且大家都是具有平等权利和义务的,不再需要一个中心,所有的上链的动作,不再需要中心处理节点、不需要数字证书、也不需要谁批准。所有参与的节点进行共识算法投票就行了。一旦经过确权,那就不可再更改了。
那么,其实区块链又分为公有链、私有链还有联盟链,大家想一想就不难理解,Web 3.0应该就是构建在公有链之上的。
模拟 PancakeSwap 实现一个连接 MetaMask
钱包并能实现在 BSC
链上交易的功能。
新建react项目
代码语言:javascript复制$ create-react-app web3-dapp-demo --template typescript
$ cd web3-dapp-demo
$ yarn start
配置环境
引入 web3-react
和 web3js
、ehthers.js
等库后会报类似于 Uncaught ReferenceError: process is not defined
的错误,视情况配置,如果没报错则忽略此配置
// config-overrides.js
// 先安装对应的依赖 url、fs、assert...
webpack: override(
(config, env) => {
config.resolve.fallback = {
url: require.resolve('url'),
fs: require.resolve('fs'),
assert: require.resolve('assert'),
crypto: require.resolve('crypto-browserify'),
http: require.resolve('stream-http'),
https: require.resolve('https-browserify'),
os: require.resolve('os-browserify/browser'),
buffer: require.resolve('buffer'),
stream: require.resolve('stream-browserify')
}
config.plugins.push(
new webpack.ProvidePlugin({
process: 'process/browser',
Buffer: ['buffer', 'Buffer']
})
)
return config
}