补充了一些信息;区块列表最新块出现在最上面
This commit is contained in:
@@ -44,4 +44,16 @@ export default {
|
|||||||
thHash: 'Hash',
|
thHash: 'Hash',
|
||||||
tableNone: '暂无数据',
|
tableNone: '暂无数据',
|
||||||
},
|
},
|
||||||
|
node: {
|
||||||
|
tableHeader: '本节点打包的区块列表',
|
||||||
|
searchHolder: '输入要查询的区块高度或者区块哈希',
|
||||||
|
thHeight: '区块高度',
|
||||||
|
thTimestamp: '时间戳',
|
||||||
|
thType: '区块类型',
|
||||||
|
thHash: '区块哈希',
|
||||||
|
tableNone: '暂无数据',
|
||||||
|
thWinner: '获胜者',
|
||||||
|
thPacker: '打包区块者',
|
||||||
|
thRewardPacker: '打包奖励',
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ export default {
|
|||||||
},
|
},
|
||||||
owner: {
|
owner: {
|
||||||
tableHeader: '我的交易',
|
tableHeader: '我的交易',
|
||||||
searchHolder: '请输入该输入的',
|
searchHolder: '请输入查询内容',
|
||||||
thId: '交易 ID',
|
thId: '交易 ID',
|
||||||
thType: '类型',
|
thType: '类型',
|
||||||
thSender: '发送者',
|
thSender: '发送者',
|
||||||
@@ -48,9 +48,12 @@ export default {
|
|||||||
tableHeader: '本节点打包的区块列表',
|
tableHeader: '本节点打包的区块列表',
|
||||||
searchHolder: '输入要查询的区块高度或者区块哈希',
|
searchHolder: '输入要查询的区块高度或者区块哈希',
|
||||||
thHeight: '区块高度',
|
thHeight: '区块高度',
|
||||||
thTimestamp: '时间戳',
|
|
||||||
thType: '区块类型',
|
thType: '区块类型',
|
||||||
thHash: '区块哈希',
|
thHash: '区块哈希',
|
||||||
|
thTimestamp: '时间戳',
|
||||||
|
thWinner: '获胜者',
|
||||||
|
thPacker: '打包区块者',
|
||||||
|
thRewardPacker: '打包奖励',
|
||||||
tableNone: '暂无数据',
|
tableNone: '暂无数据',
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,9 @@
|
|||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
// import app from './app'
|
// import app from './app'
|
||||||
|
// let baseURL = `${window.location.protocol}//${window.location.hostname}:${window.location.port}/api/`
|
||||||
|
// let baseURL = `${window.location.protocol}//${window.location.hostname}:8888/api/`
|
||||||
|
let baseURL = `http://test-us.bittic.net:8888/api/`
|
||||||
|
let socketUrl = 'ws://test-us.bittic.net:8888'
|
||||||
// 控制台应当默认访问控制台所在主机(localhost 或者 window.location.hostname)的 TIC后台,或者让用户在控制台启动时,自己设置一个节点主机。
|
// 控制台应当默认访问控制台所在主机(localhost 或者 window.location.hostname)的 TIC后台,或者让用户在控制台启动时,自己设置一个节点主机。
|
||||||
axios.defaults.baseURL = `${window.location.protocol}//${window.location.hostname}:${window.location.port}/api/`
|
axios.defaults.baseURL = baseURL
|
||||||
|
axios.defaults.socketUrl = socketUrl
|
||||||
|
|||||||
@@ -43,7 +43,8 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
addItem(state, block) {
|
addItem(state, block) {
|
||||||
state.itemList.push(block)
|
let temp = [block]
|
||||||
|
state.itemList = temp.concat(state.itemList)
|
||||||
},
|
},
|
||||||
|
|
||||||
SOCKET_CONNECT(state, status) {
|
SOCKET_CONNECT(state, status) {
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ export default {
|
|||||||
|
|
||||||
actions: {
|
actions: {
|
||||||
async updateNetInfo({ state, commit }) {
|
async updateNetInfo({ state, commit }) {
|
||||||
let result = await axios.post('Peer/getPeerList', {})
|
let result = await axios.post('Peer/peerStat', {})
|
||||||
|
|
||||||
commit('setPeerNumber', (result && result.data) ? result.data.length : 0)
|
commit('setPeerNumber', (result && result.data) ? result.data.length : 0)
|
||||||
|
|
||||||
|
|||||||
@@ -6,16 +6,22 @@ export default {
|
|||||||
pageEntity: [5, 10, 25],
|
pageEntity: [5, 10, 25],
|
||||||
headers: [
|
headers: [
|
||||||
{ text: 'node.thHeight', value: 'height', align: 'center' },
|
{ text: 'node.thHeight', value: 'height', align: 'center' },
|
||||||
{ text: 'node.thTimestamp', value: 'timestamp', align: 'center' },
|
|
||||||
{ text: 'node.thType', value: 'type', align: 'center' },
|
{ text: 'node.thType', value: 'type', align: 'center' },
|
||||||
{ text: 'node.thHash', value: 'hash', align: 'center' },
|
{ text: 'node.thHash', value: 'hash', align: 'center' },
|
||||||
|
{ text: 'node.thTimestamp', value: 'timestamp', align: 'center' },
|
||||||
|
// { text: 'node.thWinner', value: 'winnerPubkey', align: 'center' },
|
||||||
|
{ text: 'node.thPacker', value: 'packerPubkey', align: 'center' },
|
||||||
|
{ text: 'node.thRewardPacker', value: 'rewardPacker', align: 'center' },
|
||||||
],
|
],
|
||||||
itemList: [
|
blockList: [
|
||||||
{
|
{
|
||||||
height: 'loading',
|
height: 'loading',
|
||||||
timestamp: 'loading',
|
timestamp: 'loading',
|
||||||
type: 'loading',
|
type: 'loading',
|
||||||
hash: 'loading',
|
hash: 'loading',
|
||||||
|
rewardPacker: 'loading',
|
||||||
|
winnerPubkey: 'loading',
|
||||||
|
packerPubkey: 'loading',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
fetching: false,
|
fetching: false,
|
||||||
@@ -31,14 +37,22 @@ export default {
|
|||||||
setIpAddress(state, ipAddress) {
|
setIpAddress(state, ipAddress) {
|
||||||
state.ipAddress = ipAddress
|
state.ipAddress = ipAddress
|
||||||
},
|
},
|
||||||
setItemList(state, itemList) {
|
setBlockList(state, blockList) {
|
||||||
state.itemList = itemList
|
state.blockList = blockList
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
actions: {
|
actions: {
|
||||||
updateNodeInfo({ state, commit }) {
|
async updateNodeInfo({ state, commit }) {
|
||||||
|
let account = sessionStorage.getItem('KEY_ACCOUNT')
|
||||||
commit('setIpAddress', axios.defaults.baseURL)
|
commit('setIpAddress', axios.defaults.baseURL)
|
||||||
|
try {
|
||||||
|
account = JSON.parse(account)
|
||||||
|
const myBlocks = await axios.post('Block/getBlockList', {
|
||||||
|
Block: { packerPubkey: account.pubkey },
|
||||||
|
})
|
||||||
|
commit('setBlockList', myBlocks && myBlocks.data ? myBlocks.data : [])
|
||||||
|
} catch (e) {}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -16,16 +16,16 @@ export default {
|
|||||||
{ text: 'owner.thRemark', value: 'remark', align: 'center' },
|
{ text: 'owner.thRemark', value: 'remark', align: 'center' },
|
||||||
],
|
],
|
||||||
itemList: [
|
itemList: [
|
||||||
// {
|
{
|
||||||
// id: 'xxxxx',
|
id: 'loading',
|
||||||
// type: 'zzz',
|
type: 'loading',
|
||||||
// sender: 'xxx',
|
sender: 'loading',
|
||||||
// receiver: 'dddd',
|
receiver: 'loading',
|
||||||
// date: '333',
|
date: 'loading',
|
||||||
// amount: '12',
|
amount: 'loading',
|
||||||
// fee: 32,
|
fee: 'loading',
|
||||||
// remark: 'xxxx',
|
remark: 'loading',
|
||||||
// },
|
},
|
||||||
],
|
],
|
||||||
fetching: false,
|
fetching: false,
|
||||||
filter: '',
|
filter: '',
|
||||||
@@ -45,6 +45,9 @@ export default {
|
|||||||
setAddress(state, address) {
|
setAddress(state, address) {
|
||||||
state.address = address
|
state.address = address
|
||||||
},
|
},
|
||||||
|
setActions(state, actions) {
|
||||||
|
state.itemList = actions
|
||||||
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
actions: {
|
actions: {
|
||||||
@@ -53,10 +56,14 @@ export default {
|
|||||||
try {
|
try {
|
||||||
account = JSON.parse(account)
|
account = JSON.parse(account)
|
||||||
commit('setAddress', account.address)
|
commit('setAddress', account.address)
|
||||||
const result = await axios.post('Account/getBalance', {
|
const balance = await axios.post('Account/getBalance', {
|
||||||
Account: { address: account.address },
|
Account: { address: account.address },
|
||||||
})
|
})
|
||||||
commit('setBalance', (result && result.data) ? result.data : 0)
|
commit('setBalance', (balance && balance.data) ? balance.data : 0)
|
||||||
|
const actions = await axios.post('Action/getActionList', {
|
||||||
|
Action: { actorAddress: account.address },
|
||||||
|
})
|
||||||
|
commit('setActions', actions && actions.data ? actions.data : [])
|
||||||
} catch (e) {}
|
} catch (e) {}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -92,8 +92,9 @@ import io from 'socket.io-client'
|
|||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
|
|
||||||
const { mapState, mapGetters, mapActions, mapMutations } = createNamespacedHelpers('chain')
|
const { mapState, mapGetters, mapActions, mapMutations } = createNamespacedHelpers('chain')
|
||||||
|
const socketUrl = 'ws://test-us.bittic.net:8888'
|
||||||
|
|
||||||
Vue.use(VueSocketio, io(axios.defaults.baseURL), store)
|
Vue.use(VueSocketio, io(socketUrl), store)
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'Chain',
|
name: 'Chain',
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<v-data-table
|
<v-data-table
|
||||||
:headers="headers"
|
:headers="headers"
|
||||||
:items="itemList"
|
:items="blockList"
|
||||||
:total-items="100"
|
:total-items="100"
|
||||||
:rows-per-page-items="pageEntity"
|
:rows-per-page-items="pageEntity"
|
||||||
:loading="fetching"
|
:loading="fetching"
|
||||||
@@ -36,9 +36,12 @@
|
|||||||
</template>
|
</template>
|
||||||
<template slot="items" slot-scope="props">
|
<template slot="items" slot-scope="props">
|
||||||
<td>{{ props.item.height }}</td>
|
<td>{{ props.item.height }}</td>
|
||||||
<td>{{ props.item.timestamp }}</td>
|
|
||||||
<td>{{ props.item.type }}</td>
|
<td>{{ props.item.type }}</td>
|
||||||
<td>{{ props.item.hash }}</td>
|
<td>{{ props.item.hash }}</td>
|
||||||
|
<td>{{ props.item.timestamp }}</td>
|
||||||
|
<!-- <td>{{ props.item.winnerPubkey }}</td> -->
|
||||||
|
<td>{{ props.item.packerPubkey }}</td>
|
||||||
|
<td>{{ props.item.rewardPacker }}</td>
|
||||||
</template>
|
</template>
|
||||||
<template slot="no-results">
|
<template slot="no-results">
|
||||||
{{ $t('node.tableNone') }}
|
{{ $t('node.tableNone') }}
|
||||||
@@ -63,7 +66,7 @@ export default {
|
|||||||
computed: {
|
computed: {
|
||||||
...mapState([
|
...mapState([
|
||||||
'headers',
|
'headers',
|
||||||
'itemList',
|
'blockList',
|
||||||
'pageEntity',
|
'pageEntity',
|
||||||
'fetching',
|
'fetching',
|
||||||
'filter',
|
'filter',
|
||||||
|
|||||||
@@ -2,11 +2,11 @@
|
|||||||
<div class="owner-page">
|
<div class="owner-page">
|
||||||
<div class="card-content">
|
<div class="card-content">
|
||||||
<div class="app-card elevation-1">
|
<div class="app-card elevation-1">
|
||||||
<div>主人地址 <br> {{ address }}</div>
|
<div>主人地址 <br> <span>{{ address }} </span> </div>
|
||||||
</div>
|
</div>
|
||||||
<div class="app-sep"></div>
|
<div class="app-sep"></div>
|
||||||
<div class="app-card elevation-1">
|
<div class="app-card elevation-1">
|
||||||
<div>余额 <br> {{ balance }}</div>
|
<div>余额 <br><span> {{ balance }} </span></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="table-content elevation-1">
|
<div class="table-content elevation-1">
|
||||||
@@ -34,14 +34,14 @@
|
|||||||
<span>{{ $t(props.header.text) }}</span>
|
<span>{{ $t(props.header.text) }}</span>
|
||||||
</template>
|
</template>
|
||||||
<template slot="items" slot-scope="props">
|
<template slot="items" slot-scope="props">
|
||||||
<td>{{ props.item.id }}</td>
|
<td>{{ props.item.hash }}</td>
|
||||||
<td>{{ props.item.type }}</td>
|
<td>{{ props.item.type }}</td>
|
||||||
<td>{{ props.item.sender }}</td>
|
<td>{{ props.item.actorAddress }}</td>
|
||||||
<td>{{ props.item.receiver }}</td>
|
<td>{{ props.item.toAddress }}</td>
|
||||||
<td>{{ props.item.date }}</td>
|
<td>{{ props.item.timestamp }}</td>
|
||||||
<td>{{ props.item.amount }}</td>
|
<td>{{ props.item.amount }}</td>
|
||||||
<td>{{ props.item.fee }}</td>
|
<td>{{ props.item.fee }}</td>
|
||||||
<td>{{ props.item.remark }}</td>
|
<td>{{ props.item.message }}</td>
|
||||||
</template>
|
</template>
|
||||||
<template slot="no-results">
|
<template slot="no-results">
|
||||||
{{ $t('owner.tableNone') }}
|
{{ $t('owner.tableNone') }}
|
||||||
|
|||||||
Reference in New Issue
Block a user