Commit a8cbfe46 authored by szh's avatar szh

up

parent 80deb0e8
...@@ -10,7 +10,7 @@ Target Server Type : MYSQL ...@@ -10,7 +10,7 @@ Target Server Type : MYSQL
Target Server Version : 50726 Target Server Version : 50726
File Encoding : 65001 File Encoding : 65001
Date: 2019-11-04 11:26:08 Date: 2019-11-04 16:57:43
*/ */
SET FOREIGN_KEY_CHECKS=0; SET FOREIGN_KEY_CHECKS=0;
...@@ -61,16 +61,28 @@ CREATE TABLE `rasp_miner_txs` ( ...@@ -61,16 +61,28 @@ CREATE TABLE `rasp_miner_txs` (
) ENGINE=InnoDB DEFAULT CHARSET=utf8; ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ---------------------------- -- ----------------------------
-- Table structure for rasp_open
-- ----------------------------
DROP TABLE IF EXISTS `rasp_open`;
CREATE TABLE `rasp_open` (
`hash` varchar(66) NOT NULL,
`miner` varchar(66) DEFAULT NULL,
`return_addr` varchar(66) DEFAULT NULL,
PRIMARY KEY (`hash`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- ----------------------------
-- Table structure for rasp_tickets -- Table structure for rasp_tickets
-- ---------------------------- -- ----------------------------
DROP TABLE IF EXISTS `rasp_tickets`; DROP TABLE IF EXISTS `rasp_tickets`;
CREATE TABLE `rasp_tickets` ( CREATE TABLE `rasp_tickets` (
`id` varchar(512) NOT NULL, `hash` varchar(66) NOT NULL,
`ticket_id` varchar(512) NOT NULL,
`miner` varchar(66) DEFAULT NULL, `miner` varchar(66) DEFAULT NULL,
`return_address` varchar(66) DEFAULT NULL, `return_address` varchar(66) DEFAULT NULL,
`height` int(11) DEFAULT NULL, `height` int(11) DEFAULT NULL,
`pubhash` varchar(255) DEFAULT NULL, `pubhash` varchar(255) DEFAULT NULL,
`status` tinyint(2) DEFAULT NULL, `status` tinyint(2) DEFAULT NULL,
PRIMARY KEY (`id`), PRIMARY KEY (`hash`),
KEY `status` (`status`) KEY `status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
...@@ -13,6 +13,7 @@ import ( ...@@ -13,6 +13,7 @@ import (
"github.com/33cn/chain33/common" "github.com/33cn/chain33/common"
"strings" "strings"
"chain33-pai/pkg/e" "chain33-pai/pkg/e"
"github.com/astaxie/beego/orm"
) )
func Setup() { func Setup() {
...@@ -394,23 +395,32 @@ func GetRealAddress(hash string) (string,error) { ...@@ -394,23 +395,32 @@ func GetRealAddress(hash string) (string,error) {
if err != nil { if err != nil {
return "",err return "",err
} }
res,err := client.QueryTransaction(hashb) addr ,err := models.GetReturnAddr(hash)
if err != nil { if err != nil {
return "",err if err != orm.ErrNoRows {
} return "",err
var payload ttype.TicketAction } else {
err = types.Decode(res.Tx.Payload,&payload) res,err := client.QueryTransaction(hashb)
if err != nil { if err != nil {
return "",err return "",err
} }
switch payload.Ty { var payload ttype.TicketAction
case ttype.TicketActionOpen: err = types.Decode(res.Tx.Payload,&payload)
return payload.GetTopen().ReturnAddress,nil if err != nil {
case ttype.TicketActionGenesis: return "",err
return payload.GetGenesis().ReturnAddress,nil }
switch payload.Ty {
case ttype.TicketActionOpen:
addr = payload.GetTopen().ReturnAddress
case ttype.TicketActionGenesis:
addr = payload.GetGenesis().ReturnAddress
default :
return "",types.ErrActionNotSupport
}
}
} }
logging.Error("open hash not find",hash) return addr ,nil
return "",types.ErrActionNotSupport
} }
func bityuanMiner(height int64) int64 { func bityuanMiner(height int64) int64 {
......
package models
type RaspOpen struct {
//Model
Hash string `json:"hash" gorm:"PRIMARY_KEY"`
Miner string `json:"miner"`
ReturnAddr string `json:"return_addr"`
}
// GetHeight get lastheight in chain33
func GetReturnAddr(hash string) (string, error) {
var open RaspOpen
err := db.Model(&RaspOpen{}).Where("hash = ?",hash).First(&open).Error
if err != nil {
return "",err
}
return open.ReturnAddr, nil
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment