Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
90 changes: 88 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,8 +110,8 @@ ArrowTower 是一个基于 Polkadot 生态的地理位置打卡平台,支持
- **虚拟机**:PolkaVM
- **测试网络**:Polkadot Hub Testnet
- **智能合约**:
- Minter 合约:`0x079098fb8e901DE45AB510fA669bdE793DfEBD50`
- NFT 合约:`0x9373197B94f4633FBc121532F3cF3948FD4a5a15`
- Minter 合约:`0x079098fb8e901DE45AB510fA669bdE793DfEBD50`*(View on blockchain explorer: [Blockscout](https://blockscout-passet-hub.parity-testnet.parity.io/address/0x079098fb8e901DE45AB510fA669bdE793DfEBD50))*
- NFT 合约:`0x9373197B94f4633FBc121532F3cF3948FD4a5a15` *(View on blockchain explorer: [Blockscout](https://blockscout-passet-hub.parity-testnet.parity.io/token/0x9373197B94f4633FBc121532F3cF3948FD4a5a15))*

![Snapshot](./pic/Snapshot2.PNG)

Expand Down Expand Up @@ -240,6 +240,9 @@ NEXT_PUBLIC_NFT_CONTRACT="0x9373197B94f4633FBc121532F3cF3948FD4a5a15"

# 后端铸造私钥(仅服务端)
PRIVATE_KEY="your_private_key"

# 初始化使用
ADMIN_ADDRESS="admin wallet addresss"
```

**3.3 初始化数据库**
Expand All @@ -260,6 +263,89 @@ npm run dev

打开浏览器访问 [http://localhost:3000](http://localhost:3000)



## 🐳 Docker 一键部署(推荐)

使用 Docker Compose 可以快速启动完整的生产级 ArrowTower 应用栈,包括 PostgreSQL 数据库和 Next.js 应用。

### 1. 克隆项目

```bash
git clone https://github.com/easyshellworld/arrowtower-dapp.git
cd arrowtower-dapp
```

### 2. 配置环境变量

复制示例环境变量文件并根据实际情况修改:

```bash
cp .env.example .env
```

编辑 `.env` 文件,配置以下关键参数:

```env
# 数据库配置
POSTGRES_USER=postgres
POSTGRES_PASSWORD=your_secure_password
POSTGRES_DB=arrowtower
DATABASE_URL="postgresql://postgres:your_secure_password@postgres:5432/arrowtower?schema=public"

# NextAuth 配置
NEXTAUTH_SECRET="your_nextauth_secret_here"
NEXTAUTH_URL="http://localhost:30000"

# 网站基础配置
NEXT_PUBLIC_ARROW_TOWER_BASE_URL="http://localhost:30000"

# 智能合约地址
NEXT_PUBLIC_MINTER_CONTRACT="0x079098fb8e901DE45AB510fA669bdE793DfEBD50"
NEXT_PUBLIC_NFT_ADDRESS="0x9373197B94f4633FBc121532F3cF3948FD4a5a15"

# 区块链配置
PRIVATE_KEY="your_private_key_for_backend_minting"
CHAIN_ID="420420421"
RPC_URL="https://rpc.polkadot-hub-paseo-testnet.polkadot.io"
NETWORK="polkadot-hub-paseo-testnet"


# 初始化使用
ADMIN_ADDRESS="admin wallet addresss"
```

### 3. 启动服务

使用 Docker Compose 一键启动所有服务:

```bash
docker-compose up -d
```

这将自动:
- 拉取并启动 PostgreSQL 16 数据库
- 构建并启动 Next.js 应用
- 配置网络和数据卷
- 执行健康检查

### 4. 验证部署

检查服务状态:

```bash
docker-compose ps
```

查看应用日志:

```bash
docker-compose logs -f app
```

访问应用:打开浏览器访问 [http://localhost:30000](http://localhost:30000)


## 📦 项目结构

```
Expand Down
14 changes: 9 additions & 5 deletions public/ppt/ppt.html
Original file line number Diff line number Diff line change
Expand Up @@ -503,18 +503,22 @@ <h3>陌生人草台班子 (Random Assembly)</h3>
<div class="team-member">
<img src="/ppt/alice.jpg" alt="Alice">
<p>Alice</p>
<p>富贵</p>
</div>
<div class="team-member">
<img src="/ppt/jackzdh.jpg" alt="jackzdh">
<p>jackzdh</p>
<p>深海</p>
</div>
<div class="team-member">
<img src="/ppt/jolin.jpg" alt="Jolin">
<p>Jolin</p>
<p>王木木</p>
</div>
<div class="team-member">
<img src="/ppt/yuuki.jpg" alt="Yuuki">
<p>Yuuki</p>
<p>耶耶</p>
</div>
</div>
<div class="links-container">
Expand Down Expand Up @@ -569,13 +573,13 @@ <h2>项目简介</h2>
<img src="https://img.shields.io/badge/tests-passing-brightgreen" alt="Tests" class="badge">
<img src="https://img.shields.io/badge/docker-ready-blue?logo=docker" alt="Docker Ready" class="badge">
</div>

<p>ArrowTower 是一个基于 Polkadot 生态的地理位置打卡平台,支持一键式平台部署,多场景适用,通过<strong>零 Gas 费</strong>后端代铸造技术,让用户无门槛体验 Web3。</p>
<p>首期聚焦箭塔村乡村旅游场景,游客完成特色路线打卡和互动任务后,系统自动发放独特 NFT 数字纪念品,无需用户了解Gas费或支付费用,学习钱包使用与签名。</p>

<div class="center-image smaller-image">
<div class="center-image smaller-image">
<img src="/ppt/snapshot.png" alt="项目截图">
</div>
<p>ArrowTower 是一个基于 Polkadot 生态的地理位置打卡平台,支持一键式平台部署,多场景适用,通过<strong>零 Gas 费</strong>后端代铸造技术,让用户无门槛体验 Web3。游客完成特色路线打卡和互动任务后,系统自动发放独特 NFT 数字纪念品,无需用户了解Gas费或支付费用,学习钱包使用与签名。</p>



</div>
</section>

Expand Down
Loading