Commit a8cbfe46 authored by szh's avatar szh

up

parent 80deb0e8
......@@ -10,7 +10,7 @@ Target Server Type : MYSQL
Target Server Version : 50726
File Encoding : 65001
Date: 2019-11-04 11:26:08
Date: 2019-11-04 16:57:43
*/
SET FOREIGN_KEY_CHECKS=0;
......@@ -61,16 +61,28 @@ CREATE TABLE `rasp_miner_txs` (
) 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
-- ----------------------------
DROP TABLE IF EXISTS `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,
`return_address` varchar(66) DEFAULT NULL,
`height` int(11) DEFAULT NULL,
`pubhash` varchar(255) DEFAULT NULL,
`status` tinyint(2) DEFAULT NULL,
PRIMARY KEY (`id`),
PRIMARY KEY (`hash`),
KEY `status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
......@@ -13,6 +13,7 @@ import (
"github.com/33cn/chain33/common"
"strings"
"chain33-pai/pkg/e"
"github.com/astaxie/beego/orm"
)
func Setup() {
......@@ -394,6 +395,11 @@ func GetRealAddress(hash string) (string,error) {
if err != nil {
return "",err
}
addr ,err := models.GetReturnAddr(hash)
if err != nil {
if err != orm.ErrNoRows {
return "",err
} else {
res,err := client.QueryTransaction(hashb)
if err != nil {
return "",err
......@@ -405,12 +411,16 @@ func GetRealAddress(hash string) (string,error) {
}
switch payload.Ty {
case ttype.TicketActionOpen:
return payload.GetTopen().ReturnAddress,nil
addr = payload.GetTopen().ReturnAddress
case ttype.TicketActionGenesis:
return payload.GetGenesis().ReturnAddress,nil
}
logging.Error("open hash not find",hash)
addr = payload.GetGenesis().ReturnAddress
default :
return "",types.ErrActionNotSupport
}
}
}
return addr ,nil
}
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