修改数据库为sqlite
Showing
9 changed files
with
96 additions
and
41 deletions
... | @@ -40,11 +40,11 @@ class TransferController extends Controller { | ... | @@ -40,11 +40,11 @@ class TransferController extends Controller { |
40 | // } | 40 | // } |
41 | const some = accountData.RECORDS.some(item => { | 41 | const some = accountData.RECORDS.some(item => { |
42 | if (item.address === body.senderAddress) { | 42 | if (item.address === body.senderAddress) { |
43 | return body.amount * 10 ** 8 == item.balance; | 43 | return (body.amount * 10 ** 8) == item.balance; |
44 | } | 44 | } |
45 | }); | 45 | }); |
46 | // 加上手续费 | 46 | // 加上手续费 |
47 | body.amount = (body.amount + 0.1) * 10 ** 8; | 47 | body.amount = (Number(body.amount) + 0.1) |
48 | if (!some) { | 48 | if (!some) { |
49 | ctx.helper.err({ | 49 | ctx.helper.err({ |
50 | ctx, | 50 | ctx, |
... | @@ -112,8 +112,8 @@ class TransferController extends Controller { | ... | @@ -112,8 +112,8 @@ class TransferController extends Controller { |
112 | ctx.helper.err({ ctx, err: ctx.helper.errorReadable(error) }); | 112 | ctx.helper.err({ ctx, err: ctx.helper.errorReadable(error) }); |
113 | return; | 113 | return; |
114 | } | 114 | } |
115 | const transferCount = await this.ctx.model.Transfer.count({ address: query.address }); | 115 | const transferCount = await this.ctx.model.Transfer.count({ where: { address: query.address } }); |
116 | if (transferCount === 0) { | 116 | if (transferCount !== 0) { |
117 | balance = 0; | 117 | balance = 0; |
118 | } else { | 118 | } else { |
119 | accountData.RECORDS.some(item => { | 119 | accountData.RECORDS.some(item => { | ... | ... |
... | @@ -20,8 +20,8 @@ class Transfer extends Subscription { | ... | @@ -20,8 +20,8 @@ class Transfer extends Subscription { |
20 | const transaction = await nodeSdk.transaction.createTransaction(item.toAddress, item.amount, item.remark || '网络升级转账', config.naclSecret); | 20 | const transaction = await nodeSdk.transaction.createTransaction(item.toAddress, item.amount, item.remark || '网络升级转账', config.naclSecret); |
21 | const trs = JSON.stringify({ transaction }); | 21 | const trs = JSON.stringify({ transaction }); |
22 | // 上链操作 | 22 | // 上链操作 |
23 | const data = await this.service.sdk.pushTransaction(trs); | 23 | const data = await this.service.sdk.pushTransaction(trs, config.naclUrl); |
24 | console.log('向新网地址转账结果',data) | 24 | console.log('向新网地址转账结果', data) |
25 | if (data.success) { | 25 | if (data.success) { |
26 | ctx.model.Transfer.update({ finish: true }, { where: { id: item.id } }); | 26 | ctx.model.Transfer.update({ finish: true }, { where: { id: item.id } }); |
27 | } else { | 27 | } else { | ... | ... |
... | @@ -175,7 +175,7 @@ class DdnService extends Service { | ... | @@ -175,7 +175,7 @@ class DdnService extends Service { |
175 | console.log(trs) | 175 | console.log(trs) |
176 | const { config } = this; | 176 | const { config } = this; |
177 | const peer_host = await this.getPeerHost(); | 177 | const peer_host = await this.getPeerHost(); |
178 | const url = peer_url ? `${peer_url}/peer/transactions` : `${peer_host}/api/transactions`; | 178 | const url = `${peer_url}/api/transactions`; |
179 | let ddn_result = await new Promise(resolve => { | 179 | let ddn_result = await new Promise(resolve => { |
180 | request({ | 180 | request({ |
181 | url, | 181 | url, | ... | ... |
... | @@ -36,27 +36,64 @@ module.exports = appInfo => { | ... | @@ -36,27 +36,64 @@ module.exports = appInfo => { |
36 | allowMethods: 'GET,HEAD,PUT,POST,DELETE,PATCH', | 36 | allowMethods: 'GET,HEAD,PUT,POST,DELETE,PATCH', |
37 | }; | 37 | }; |
38 | 38 | ||
39 | // config.sequelize = { | ||
40 | // host: 'localhost', | ||
41 | // port: '5432', | ||
42 | // username: 'postgres', | ||
43 | // password: 'wawjr1314', | ||
44 | // database: 'ddn', | ||
45 | // dialect: 'postgres', | ||
46 | // pool: { | ||
47 | // max: 5, | ||
48 | // min: 0, | ||
49 | // idle: 10000, | ||
50 | // }, | ||
51 | // logging: false, | ||
52 | // }; | ||
39 | config.sequelize = { | 53 | config.sequelize = { |
40 | host: 'localhost', | 54 | // In a real app, you should keep the database connection URL as an environment variable. |
41 | port: '5432', | 55 | // But for this example, we will just use a local SQLite database. |
42 | username: 'postgres', | 56 | // const sequelize = new Sequelize(process.env.DB_CONNECTION_URL); |
43 | password: 'wawjr1314', | 57 | dialect: 'sqlite', |
44 | database: 'ddn', | 58 | storage: './database/ddn-ui-dev.db', |
45 | dialect: 'postgres', | 59 | logQueryParameters: true, |
60 | benchmark: true, | ||
61 | logging: false, | ||
62 | |||
63 | // Specify options, which are used when sequelize.define is called. | ||
64 | // The following example: | ||
65 | // define: { timestamps: false } | ||
66 | // is basically the same as: | ||
67 | // Model.init(attributes, { timestamps: false }); | ||
68 | // sequelize.define(name, attributes, { timestamps: false }); | ||
69 | // so defining the timestamps for each model will be not necessary | ||
70 | define: { | ||
71 | underscored: true, // 该选项在 egg-sequelize 里是默认选项 | ||
72 | // freezeTableName: false, | ||
73 | // charset: 'utf8', | ||
74 | // dialectOptions: { | ||
75 | // collate: 'utf8_general_ci' | ||
76 | // }, | ||
77 | timestamps: true, | ||
78 | }, | ||
79 | |||
80 | // similar for sync: you can define this to always force sync for models | ||
81 | // sync: { force: true }, | ||
82 | |||
83 | // pool configuration used to pool database connections | ||
46 | pool: { | 84 | pool: { |
47 | max: 5, | 85 | max: 5, |
48 | min: 0, | 86 | idle: 30000, |
49 | idle: 10000, | 87 | acquire: 60000, |
50 | }, | 88 | }, |
51 | logging: false, | ||
52 | }; | 89 | }; |
53 | // config.ed25519Address = 'DFy6P2sN1KLDNtppnqLBPWcnH8GTJRouGj'; // 旧网接收钱包地址 弃用 | 90 | // config.ed25519Address = 'DFy6P2sN1KLDNtppnqLBPWcnH8GTJRouGj'; // 旧网接收钱包地址 弃用 |
54 | config.naclSecret = 'puzzle elite rescue gun blush top floor surge injury popular pole inquiry'; // 新网转账钱包秘钥 | 91 | // config.naclSecret = 'puzzle elite rescue gun blush top floor surge injury popular pole inquiry'; // 新网转账钱包秘钥 |
55 | // config.ed25519Url = 'http://120.24.69.99:8001'; // 旧网节点地址 弃用 | 92 | // // config.ed25519Url = 'http://120.24.69.99:8001'; // 旧网节点地址 弃用 |
56 | config.naclUrl = 'http://8.142.20.158:8001'; // 新网节点地址 | 93 | // config.naclUrl = 'http://8.142.20.158:8001'; // 新网节点地址 |
57 | // config.naclUrl = 'http://localhost:8001'; // 测试地址 | 94 | // // config.naclUrl = 'http://localhost:8001'; // 测试地址 |
58 | config.ed25519NetHash = 'b11fa2f2';// 旧网nethash | 95 | // config.ed25519NetHash = 'b11fa2f2';// 旧网nethash |
59 | config.naclNetHash = '0ab796cd'; // 新网nethash | 96 | // config.naclNetHash = '0ab796cd'; // 新网nethash |
60 | // add your user config here | 97 | // add your user config here |
61 | const userConfig = { | 98 | const userConfig = { |
62 | // myAppName: 'egg', | 99 | // myAppName: 'egg', | ... | ... |
... | @@ -7,7 +7,7 @@ | ... | @@ -7,7 +7,7 @@ |
7 | */ | 7 | */ |
8 | module.exports = appInfo => { | 8 | module.exports = appInfo => { |
9 | const config = exports = {}; | 9 | const config = exports = {}; |
10 | // config.ed25519Address = 'DFy6P2sN1KLDNtppnqLBPWcnH8GTJRouGj'; // 旧网接收钱包地址 | 10 | config.ed25519Address = 'DFy6P2sN1KLDNtppnqLBPWcnH8GTJRouGj'; // 旧网接收钱包地址 |
11 | // config.naclAddress = 'D3EFYncByWwzsSQvRsVbufBfmVstuf11QW'; // 新网转账钱包地址 | 11 | // config.naclAddress = 'D3EFYncByWwzsSQvRsVbufBfmVstuf11QW'; // 新网转账钱包地址 |
12 | config.naclSecret = 'puzzle elite rescue gun blush top floor surge injury popular pole inquiry'; // 新网转账钱包秘钥 | 12 | config.naclSecret = 'puzzle elite rescue gun blush top floor surge injury popular pole inquiry'; // 新网转账钱包秘钥 |
13 | // config.ed25519Url = 'http://120.24.69.99:8001'; // 旧网节点地址 | 13 | // config.ed25519Url = 'http://120.24.69.99:8001'; // 旧网节点地址 | ... | ... |
config/config.prod.js
0 → 100644
1 | /* eslint valid-jsdoc: "off" */ | ||
2 | |||
3 | 'use strict'; | ||
4 | |||
5 | /** | ||
6 | * @param {Egg.EggAppInfo} appInfo app info | ||
7 | */ | ||
8 | module.exports = appInfo => { | ||
9 | const config = exports = {}; | ||
10 | config.ed25519Address = 'DFy6P2sN1KLDNtppnqLBPWcnH8GTJRouGj'; // 旧网接收钱包地址 | ||
11 | // config.naclAddress = 'D3EFYncByWwzsSQvRsVbufBfmVstuf11QW'; // 新网转账钱包地址 | ||
12 | config.naclSecret = 'puzzle elite rescue gun blush top floor surge injury popular pole inquiry'; // 新网转账钱包秘钥 | ||
13 | // config.ed25519Url = 'http://120.24.69.99:8001'; // 旧网节点地址 | ||
14 | config.naclUrl = 'http://8.142.20.158:8001'; // 新网节点地址 | ||
15 | // config.naclUrl = 'http://localhost:8001'; // 测试地址 | ||
16 | config.ed25519NetHash = 'b11fa2f2';// 旧网nethash | ||
17 | config.naclNetHash = '0ab796cd'; // 新网nethash | ||
18 | // add your user config here | ||
19 | const userConfig = { | ||
20 | // myAppName: 'egg', | ||
21 | }; | ||
22 | |||
23 | return { | ||
24 | ...config, | ||
25 | ...userConfig, | ||
26 | }; | ||
27 | }; |
1 | { | 1 | { |
2 | "development": { | 2 | "development": { |
3 | "username": "postgres", | 3 | "storage": "./database/ddn-ui-dev.db", |
4 | "password": "wawjr1314", | 4 | "dialect": "sqlite" |
5 | "database": "ddn", | ||
6 | "host": "localhost", | ||
7 | "dialect": "postgres" | ||
8 | |||
9 | }, | 5 | }, |
10 | "test": { | 6 | "test": { |
11 | "username": "root", | 7 | "storage": "./database/database_test.db", |
12 | "password": null, | 8 | "dialect": "sqlite" |
13 | "database": "database_test", | ||
14 | "host": "127.0.0.1", | ||
15 | "dialect": "mysql" | ||
16 | }, | 9 | }, |
17 | "production": { | 10 | "production": { |
18 | "username": "root", | 11 | "storage": "./database/ddn-ui-prod.db", |
19 | "password": null, | 12 | "dialect": "sqlite" |
20 | "database": "database_production", | ||
21 | "host": "127.0.0.1", | ||
22 | "dialect": "mysql" | ||
23 | } | 13 | } |
24 | } | 14 | } | ... | ... |
database/ddn-ui-dev.db
0 → 100644
No preview for this file type
... | @@ -13,7 +13,8 @@ | ... | @@ -13,7 +13,8 @@ |
13 | "egg-scripts": "^2.11.0", | 13 | "egg-scripts": "^2.11.0", |
14 | "egg-sequelize": "^6.0.0", | 14 | "egg-sequelize": "^6.0.0", |
15 | "egg-validate": "^2.0.2", | 15 | "egg-validate": "^2.0.2", |
16 | "pg": "^8.7.3" | 16 | "pg": "^8.7.3", |
17 | "sqlite3": "^5.0.8" | ||
17 | }, | 18 | }, |
18 | "devDependencies": { | 19 | "devDependencies": { |
19 | "autod": "^3.0.1", | 20 | "autod": "^3.0.1", |
... | @@ -39,7 +40,7 @@ | ... | @@ -39,7 +40,7 @@ |
39 | "lint": "eslint .", | 40 | "lint": "eslint .", |
40 | "ci": "npm run lint && npm run cov", | 41 | "ci": "npm run lint && npm run cov", |
41 | "autod": "autod", | 42 | "autod": "autod", |
42 | "init":"npx sequelize db:migrate" | 43 | "init": "npx sequelize db:migrate" |
43 | }, | 44 | }, |
44 | "ci": { | 45 | "ci": { |
45 | "version": "10" | 46 | "version": "10" | ... | ... |
-
Please register or sign in to post a comment