React + Express + Truffle
➜ k mysql -V
mysql Ver 8.0.32-0ubuntu0.20.04.2 for Linux on x86_64 ((Ubuntu))
➜ k mongod -version
db version v5.0.14
Build Info: {
"version": "5.0.14",
"gitVersion": "1b3b0073a0b436a8a502b612f24fb2bd572772e5",
"openSSLVersion": "OpenSSL 1.1.1f 31 Mar 2020",
"modules": [],
"allocator": "tcmalloc",
"environment": {
"distmod": "ubuntu2004",
"distarch": "x86_64",
"target_arch": "x86_64"
}
}
➜ bin ./ipfs version
ipfs version 0.13.0-dev
➜ bin truffle version
Truffle v5.4.33 (core: 5.4.33)
Ganache v7.0.1
Solidity v0.5.16 (solc-js)
Node v16.14.0
Web3.js v1.5.3
➜ bin npm version
{
npm: '8.3.1',
node: '16.14.0',
v8: '9.4.146.24-node.20',
uv: '1.43.0',
zlib: '1.2.11',
brotli: '1.0.9',
ares: '1.18.1',
modules: '93',
nghttp2: '1.45.1',
napi: '8',
llhttp: '6.0.4',
openssl: '1.1.1m+quic',
cldr: '40.0',
icu: '70.1',
tz: '2021a3',
unicode: '14.0',
ngtcp2: '0.1.0-DEV',
nghttp3: '0.1.0-DEV'
}
➜ bin nodejs -v
v10.19.0
前端:3000;
智能合约:8545;
后端:5000;
mongoDB:27017;
mysql:3306;
IPFS(update):5001;
IPFS(download):8080;
在truffle_code目录下使用命令truffle compile
在truffle_code目录下使用命令truffle migrate --reset
code/react_code/src/contracts/
至于当时为什么让合约的js文件放到前端的react_code文件夹中,好像是因为当时用前端引用js文件时,不能读取到react_code文件夹之外的内容,所以临时凑合了一下
然后后端的express_code文件中的代码又跑去react_code文件夹找东西
这个要改
在truffle_code/test目录下使用命令truffle exec seed.js
truffle console
首次运行时,需要在express_code目录下使用命令npm install
之后node routes/app.js
首次运行时,需要在react_code目录下使用命令npm install
之后npm start
去之前执行命令truffle develop
的结果中,找到 Private Keys
之后便可用这一账户进行链上交易