메이플스토리 에셋을 활용한 수집형 NFT 웹 게임.
현 사이트(https://jmt-maplestory.com/)는 폴리곤 뭄바이로 배포되어있습니다.
client
, contract
, server
, script
폴더 하위
npm install
client
, contract
, server
폴더 하위에 .env.example
을 참고하여 .env
로 생성하고, 환경 변수들을 넣어준다.
docker pull mysql:8
docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=root -d -p 3306:3306 mysql:8
docker exec -it mysql-container bash
mysql -u root -p
{패스워드 입력}
//jmt 데이터베이스를 생성하지 않았다면 생성!
create database jmt;
mysql에 jmt
데이터베이스 생성 후 진행한다.
npx sequelize db:migrate
//npx sequelize db:migrate:undo
cd ./script
node upload_character_attributes_db.js
node upload_item_attributes_db.js
# db
docker stop mysql-container
docker rm mysql-container
docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=root -d -p 3306:3306 mysql:8
docker exec -it mysql-container bash
mysql -u root -p
{패스워드 입력}
create database jmt
# server 폴더에서
npx sequelize db:migrate
# script 폴더에서
node upload_character_attributes_db.js
node upload_item_attributes_db.js
# contract (from truffle)
compile --all
migrate --reset
# 필요시 abi 파일 변경
# .env 파일의 컨트랙트 주소 변경
- Server, Client, Contract npm install
- Server DB User table data 삭제
- Truffle-config.js networkid, from, port 확인
- contract/migrate .js 파일 ContractOwner local account[0]계정으로 변경
- Truffle local 컨트랙트 배포
- client/.env 컨트랙트 주소 수정
- 개발: http://localhost:4000
- 라이브: TBD
POST /user/signup
- Request
{
"username": "유저 이름",
"address": "지갑 주소"
}
- Response
201 SUCCESS
{
"message": "회원가입이 완료되었습니다.",
"data": {
"username": "유저 이름",
"address": "지갑 주소"
}
}
409 FAIL
"이미 가입된 유저 이름입니다."
GET /user/check/${userAddr}
- Response
200 SUCCESS
{
message: "true",
username: user.username,
address: user.address
}
200 FAIL
{
message: "false"
}