nguyenkha / kcoin-blockchain

KCoin blockchain reference implementation
https://api.kcoin.club/
MIT License
60 stars 8 forks source link

Danh sách unconfirmed-transactions có cấu trúc như thế nào #16

Open hhhao79 opened 6 years ago

hhhao79 commented 6 years ago

Khi e chạy get/unconfirmed-transactions thì trả về là [] thầy cho e hỏi:

  1. Cấu trúc trả về của unconfirmed-transactions có giống như transactions hay không ?
  2. Khi e post 1 transaction thì transaction đó có vô unconfirmed-transactions liền không ?
  3. Khi e tính số dư khả dụng e sẽ lấy số dư thực tế trừ đi các transactions chưa xác nhận như vậy có đúng không ?
nguyenkha commented 6 years ago
  1. Giống
  2. Vô ngay nếu hợp lệ, bạn biết được kết quả qua REST response, nếu 200 và JSON của transaction kèm hash. Sau khoảng 10 phút transaction này sẽ được gom và block => mất khỏi unconfirmed transaction
  3. Chính xác
TruongLuan1996 commented 6 years ago

Thầy ơi, e thấy sao khi e post trans lên blockchain thì unconfirmed-transactions được trả về ngay qua websocket. Nếu em bỏ qua nó k xử lý thì có vấn đề gì k thầy. Vì e thấy lúc xác nhận xong nó sẽ được trả về trong block.

nguyenkha commented 6 years ago

Transaction được trả qua WS type: 'transaction' là unconfirmed transaction, bạn có thể bỏ qua không cần xử lý, chỉ cần xử lý confirmed transaction trong block là được.

hhhao79 commented 6 years ago

@nguyenkha Chào thầy . Cho e hỏi là khi em post một transaction thì nó sẽ lên unconfirm-transactions với 1 transaction có 2 output trong đó 1 output nhận tiền thối và 1 output là số tiền gửi đi. Trường hợp e tính số dư khả dụng bằng cách tìm trên danh sách unconfirm-transactions bằng cách tìm các output có địa chỉ với người đang đăng nhập và cộng lại. Nếu trường hợp có người khác gửi đến địa chỉ mình và nó lên unconfirm-transaction thì mình cộng số tiền đó vào là có trường hợp số tiền khả dụng lớn hơn thực tế. E tính như vậy có chính xác không ạ ?

nguyenkha commented 6 years ago

Số dư khả dụng em nên tính nội bộ trong hệ thống em, không cần đụng đến unconfirmed transactions. Vì đối với người dùng, họ cần biết Có bao nhiêu tiền trong tài khoản? trên hệ thống của bạn, chứ không phải thông tin trên blockchain, vì tùy theo cách cài đặt, địa chỉ nhận tiền không nhất thiết là số dư tài khoản của người dùng.