TicketChain_prototype3
This is a simple prototype #3 for TicketsCloud company.
How to install:
Run npm install
How to run
Run npm run kovan
How to run on Heroku
- Deploy to Heroku
- Select 'nodejs' buildpack
- Set SMART_CONTRACTS_ENABLED, ETH_NODE, ETH_CREATOR_ADDRESS, CONTRACT_ADDRESS environment variables.
API description
POST /tickets/:id?auth_code=123123123123212123
- Устанавливает данные билета.
- id указан всегда.
- Если билета нет — создаёт с указанным в URL id (ObjectId).
- Если билет уже есть - обновляет данные.
- Никаких ограничений на запись не надо.
- При каждом запросе переписываются все поля. Если каких-то полей нет, значит они должны быть удалены.
{
"status": "vacant" | "sold" | "removed",
"serial": "AAA",
"number": 12345678, // int
"seat_sector": "id",
"seat_row": "10", // string
"seat_number": "15", // string
"customer": "id",
"customer_name": "First Last",
"event": "id",
"event_title": "string",
"category": "id",
"category_name": "string",
"order": "id",
"price": 123465, // int in cents
"price_currency": "RUB",
"updated_at": "2017-07-27 15:57:13",
"contract_address: "0xe7962464741983eB4620DD0e2Aa6d572145bab0E",
"contract_status: "pending" | "ok"
}
Следующие поля управляются со стороны чейна: * updated_at: время обработки запроса (можно указать время добавления в блок, например); * contract_address: адрес контракта; * contract_status: "pending" — ожидает добавления в блок, "ok" — добавлен.
GET /tickets/:id?auth_code=123123123123212123
Возвращает всю информацию о билете.