I built a tron Private Chain, created a trc20 token with TronBox, and run tronbox migrate --reset.
Using network 'development'.
Running migration: 1_initial_migration.js
Replacing Migrations...
Migrations:
(base58)TC9KHf298fjf5wnXcVVDbES5bR4pVa47mS
(hex) 4117d9a89a8cfe459310ea718200eb4d122ab1b343
Saving successful migration to network...
Saving artifacts...
Running migration: 2_deploy_contracts.js
Replacing Token...
Token:
(base58) TSJZHJ5LQTdEs81EwjpVnf5uFQmGu9Q31x
(hex) 41b32ad83b1216c01a16a5aebceeb38465675eb206
Saving successful migration to network...
Saving artifacts...
When you check the balance through tronweb, the constant result value is empty as shown below.
{
result: { result: true },
constant_result: [ '' ],
transaction: {
ret: [ {} ],
visible: false;
txID: '0ce85318b89210efcc0283dd36bbdbb08bdbfca13feb9bc6ad8dedec3d4a4d6a',
raw_data: {
contract: [Array],
ref_block_bytes: '0ad1',
ref_block_hash: '1affa3e094f99143',
expiration: 1719551661000,
timestamp: 1719551602763
},
raw_data_hex: '0a020ad122081affa3e094f9914340c8a790ea85325a6d081f12690a31747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5 4726967676572536d617274436f6e747261637412340a1541cc83350e01a0a8fba6a548e8d08c97646715de921215417e6538c3b333a55f03147972057bfe 30be1ebc33220418160ddd70cbe08cea8532'
}
}
Return with constant_result: [ '' ], like this
I kept changing the java-tron version and tested it, but the same thing happened.
If you deploy with TEST net (https://nile.trongrid.io/), it processes normally.
This is the config file I am using.
net {
type = mainnet
}
storage {
db.version = 2,
db.engine = "LEVELDB",
db.directory = "database",
index.directory = "index",
properties = [
// {
// name = "account",
// path = "storage_directory_test",
// createIfMissing = true,
// paranoidChecks = true,
// verifyChecksums = true,
// compressionType = 1, // compressed with snappy
// blockSize = 4096, // 4 KB = 4 * 1024 B
// writeBufferSize = 10485760, // 10 MB = 10 * 1024 * 1024 B
// cacheSize = 10485760, // 10 MB = 10 * 1024 * 1024 B
// maxOpenFiles = 100
// },
// {
// name = "account-index",
// path = "storage_directory_test",
// createIfMissing = true,
// paranoidChecks = true,
// verifyChecksums = true,
// compressionType = 1, // compressed with snappy
// blockSize = 4096, // 4 KB = 4 * 1024 B
// writeBufferSize = 10485760, // 10 MB = 10 * 1024 * 1024 B
// cacheSize = 10485760, // 10 MB = 10 * 1024 * 1024 B
// maxOpenFiles = 100
// },
]
}
node.discovery = {
enable = true # you should set this entry value with true if you want your node can be discovered by other node.
persist = true # this entry is used to determined to whether storing the peers in the database or not.
external.ip = 127.0.0.1
}
node.backup {
port = 10001
priority = 8
members = [
]
}
node {
trustNode = "127.0.0.1:50051"
walletExtensionApi = true
listen.port = 16666
connection.timeout = 2
tcpNettyWorkThreadNum = 0
udpNettyWorkThreadNum = 1
maxActiveNodes = 30
maxActiveNodesWithSameIp = 2
minParticipationRate = 0
disconnectNumberFactor = 0.4
maxConnectNumberFactor = 0.8
receiveTcpMinDataLength = 2048
isOpenFullTcpDisconnect = true
p2p {
version = 1 # 11111: mainnet; 20180622: testnet; you can set other number when you deploy one private net, but the node must have the same number in some private net.
}
active = [
]
passive = [
]
http {
fullNodePort = 16667
solidityPort = 16668
}
rpc {
port = 16669
maxConnectionIdleInMillis = 60000
minEffectiveConnection = 0
}
dns {
}
}
seed.node = {
ip.list = [
]
}
genesis.block = {
assets = [
{
accountName = "Zion"
accountType = "AssetIssue"
address = "TUca2dayrKr1ELWLaY7bLkVxHtVmBQ5rt5"
balance = "95000000000000000"
},
{
accountName = "Sun"
accountType = "AssetIssue"
address = "TWsm8HtU2A5eEzoT8ev8yaoFjHsXLLrckb"
balance = "5000000000000000"
},
{
accountName = "Blackhole"
accountType = "AssetIssue"
address = "TSJD5rdu6wZXP7F2m3a3tn8Co3JcMjtBip"
balance = "-9223372036854775808"
},
{
accountName = "TestA"
accountType = "AssetIssue"
address = "TVdyt1s88BdiCjKt6K2YuoSmpWScZYK1QF"
balance = "1000000000000000"
},
{
accountName = "TestB"
accountType = "AssetIssue"
address = "TCNVmGtkfknHpKSZXepZDXRowHF7kosxcv"
balance = "1000000000000000"
},
{
accountName = "TestC"
accountType = "AssetIssue"
address = "TAbzgkG8p3yF5aywKVgq9AaAu6hvF2JrVC"
balance = "1000000000000000"
},
{
accountName = "TestD"
accountType = "AssetIssue"
address = "TMmmvwvkBPBv3Gkw9cGKbZ8PLznYkTu3ep"
balance = "1000000000000000"
},
{
accountName = "TestE"
accountType = "AssetIssue"
address = "TBJHZu4Sm86aWHtt6VF6KQSzot8vKTuTKx"
balance = "1000000000000000"
}
]
witnesses = [
{
address: TUca2dayrKr1ELWLaY7bLkVxHtVmBQ5rt5,
url = "http://tronstudio.com",
voteCount = 10000
}
]
timestamp = "0" #2017-8-26 12:00:00
parentHash = "957dc2d350daecc7bb6a38f3938ebde0a0c1cedafe15f0edae4256a2907449f6"
}
localwitness = [
]
block = {
needSyncCheck = false # first node : false, other : true
maintenanceTimeInterval = 21600000 // 1 day: 86400000(ms), 6 hours: 21600000(ms)
}
vm = {
supportConstant = true
minTimeRatio = 0.0
maxTimeRatio = 5.0
}
committee = {
allowCreationOfContracts = 1 //mainnet:0 (reset by committee),test:1
allowSameTokenName = 1
allowTvmTransferTrc10 = 1
}
event.subscribe = {
native = {
useNativeQueue = true // if true, use native message queue, else use event plugin.
bindport = 5555 // bind port
sendqueuelength = 1000 //max length of send queue
}
path = "" // absolute path of plugin
server = "" // target server address to receive event triggers
dbconfig = "" // dbname|username|password
contractParse = true,
topics = [
{
triggerName = "block" // block trigger, the value can't be modified
enable = false
topic = "block" // plugin topic, the value could be modified
},
{
triggerName = "transaction"
enable = false
topic = "transaction"
},
{
triggerName = "contractevent"
enable = false
topic = "contractevent"
},
{
triggerName = "contractlog"
enable = false
topic = "contractlog"
},
{
triggerName = "solidity" // solidity block event trigger, the value can't be modified
enable = true // the default value is true
topic = "solidity"
}
]
filter = {
fromblock = "" // the value could be "", "earliest" or a specified block number as the beginning of the queried range
toblock = "" // the value could be "", "latest" or a specified block number as end of the queried range
contractAddress = [
"" // contract address you want to subscribe, if it's set to "", you will receive contract logs/events with any contract address.
]
contractTopic = [
"" // contract topic you want to subscribe, if it's set to "", you will receive contract logs/events with any contract topic.
]
}
}
constant_result: [ '' ] <--- Please tell me how to solve it
I built a tron Private Chain, created a trc20 token with TronBox, and run tronbox migrate --reset.
Using network 'development'.
Running migration: 1_initial_migration.js
Replacing Migrations...
Migrations:
(base58)TC9KHf298fjf5wnXcVVDbES5bR4pVa47mS
(hex) 4117d9a89a8cfe459310ea718200eb4d122ab1b343
Saving successful migration to network...
Saving artifacts...
Running migration: 2_deploy_contracts.js
Replacing Token...
Token:
(base58) TSJZHJ5LQTdEs81EwjpVnf5uFQmGu9Q31x
(hex) 41b32ad83b1216c01a16a5aebceeb38465675eb206
Saving successful migration to network...
Saving artifacts...
When you check the balance through tronweb, the constant result value is empty as shown below.
{
result: { result: true },
constant_result: [ '' ],
transaction: {
ret: [ {} ],
visible: false;
txID: '0ce85318b89210efcc0283dd36bbdbb08bdbfca13feb9bc6ad8dedec3d4a4d6a',
raw_data: {
contract: [Array],
ref_block_bytes: '0ad1',
ref_block_hash: '1affa3e094f99143',
expiration: 1719551661000,
timestamp: 1719551602763
},
raw_data_hex: '0a020ad122081affa3e094f9914340c8a790ea85325a6d081f12690a31747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5 4726967676572536d617274436f6e747261637412340a1541cc83350e01a0a8fba6a548e8d08c97646715de921215417e6538c3b333a55f03147972057bfe 30be1ebc33220418160ddd70cbe08cea8532'
}
}
Return with constant_result: [ '' ], like this
I kept changing the java-tron version and tested it, but the same thing happened.
If you deploy with TEST net (https://nile.trongrid.io/), it processes normally.
This is the config file I am using.
net {
type = mainnet
}
storage {
db.version = 2,
db.engine = "LEVELDB",
db.directory = "database",
index.directory = "index",
properties = [
// {
// name = "account",
// path = "storage_directory_test",
// createIfMissing = true,
// paranoidChecks = true,
// verifyChecksums = true,
// compressionType = 1, // compressed with snappy
// blockSize = 4096, // 4 KB = 4 * 1024 B
// writeBufferSize = 10485760, // 10 MB = 10 * 1024 * 1024 B
// cacheSize = 10485760, // 10 MB = 10 * 1024 * 1024 B
// maxOpenFiles = 100
// },
// {
// name = "account-index",
// path = "storage_directory_test",
// createIfMissing = true,
// paranoidChecks = true,
// verifyChecksums = true,
// compressionType = 1, // compressed with snappy
// blockSize = 4096, // 4 KB = 4 * 1024 B
// writeBufferSize = 10485760, // 10 MB = 10 * 1024 * 1024 B
// cacheSize = 10485760, // 10 MB = 10 * 1024 * 1024 B
// maxOpenFiles = 100
// },
]
}
node.discovery = {
enable = true # you should set this entry value with true if you want your node can be discovered by other node.
persist = true # this entry is used to determined to whether storing the peers in the database or not.
external.ip = 127.0.0.1
}
node.backup {
port = 10001
priority = 8
members = [
]
}
node {
trustNode = "127.0.0.1:50051"
walletExtensionApi = true
listen.port = 16666
connection.timeout = 2
tcpNettyWorkThreadNum = 0
udpNettyWorkThreadNum = 1
maxActiveNodes = 30
maxActiveNodesWithSameIp = 2
minParticipationRate = 0
disconnectNumberFactor = 0.4
maxConnectNumberFactor = 0.8
receiveTcpMinDataLength = 2048
isOpenFullTcpDisconnect = true
p2p {
version = 1 # 11111: mainnet; 20180622: testnet; you can set other number when you deploy one private net, but the node must have the same number in some private net.
}
active = [
]
passive = [
]
http {
fullNodePort = 16667
solidityPort = 16668
}
rpc {
port = 16669
maxConnectionIdleInMillis = 60000
minEffectiveConnection = 0
}
dns {
}
}
seed.node = {
ip.list = [
]
}
genesis.block = {
assets = [
{
accountName = "Zion"
accountType = "AssetIssue"
address = "TUca2dayrKr1ELWLaY7bLkVxHtVmBQ5rt5"
balance = "95000000000000000"
},
{
accountName = "Sun"
accountType = "AssetIssue"
address = "TWsm8HtU2A5eEzoT8ev8yaoFjHsXLLrckb"
balance = "5000000000000000"
},
{
accountName = "Blackhole"
accountType = "AssetIssue"
address = "TSJD5rdu6wZXP7F2m3a3tn8Co3JcMjtBip"
balance = "-9223372036854775808"
},
{
accountName = "TestA"
accountType = "AssetIssue"
address = "TVdyt1s88BdiCjKt6K2YuoSmpWScZYK1QF"
balance = "1000000000000000"
},
{
accountName = "TestB"
accountType = "AssetIssue"
address = "TCNVmGtkfknHpKSZXepZDXRowHF7kosxcv"
balance = "1000000000000000"
},
{
accountName = "TestC"
accountType = "AssetIssue"
address = "TAbzgkG8p3yF5aywKVgq9AaAu6hvF2JrVC"
balance = "1000000000000000"
},
{
accountName = "TestD"
accountType = "AssetIssue"
address = "TMmmvwvkBPBv3Gkw9cGKbZ8PLznYkTu3ep"
balance = "1000000000000000"
},
{
accountName = "TestE"
accountType = "AssetIssue"
address = "TBJHZu4Sm86aWHtt6VF6KQSzot8vKTuTKx"
balance = "1000000000000000"
}
]
witnesses = [
{
address: TUca2dayrKr1ELWLaY7bLkVxHtVmBQ5rt5,
url = "http://tronstudio.com",
voteCount = 10000
}
]
timestamp = "0" #2017-8-26 12:00:00
parentHash = "957dc2d350daecc7bb6a38f3938ebde0a0c1cedafe15f0edae4256a2907449f6"
}
localwitness = [
]
block = {
needSyncCheck = false # first node : false, other : true
maintenanceTimeInterval = 21600000 // 1 day: 86400000(ms), 6 hours: 21600000(ms)
}
vm = {
supportConstant = true
minTimeRatio = 0.0
maxTimeRatio = 5.0
}
committee = {
allowCreationOfContracts = 1 //mainnet:0 (reset by committee),test:1
allowSameTokenName = 1
allowTvmTransferTrc10 = 1
}
event.subscribe = {
native = {
useNativeQueue = true // if true, use native message queue, else use event plugin.
bindport = 5555 // bind port
sendqueuelength = 1000 //max length of send queue
}
path = "" // absolute path of plugin
server = "" // target server address to receive event triggers
dbconfig = "" // dbname|username|password
contractParse = true,
topics = [
{
triggerName = "block" // block trigger, the value can't be modified
enable = false
topic = "block" // plugin topic, the value could be modified
},
{
triggerName = "transaction"
enable = false
topic = "transaction"
},
{
triggerName = "contractevent"
enable = false
topic = "contractevent"
},
{
triggerName = "contractlog"
enable = false
topic = "contractlog"
},
{
triggerName = "solidity" // solidity block event trigger, the value can't be modified
enable = true // the default value is true
topic = "solidity"
}
]
filter = {
fromblock = "" // the value could be "", "earliest" or a specified block number as the beginning of the queried range
toblock = "" // the value could be "", "latest" or a specified block number as end of the queried range
contractAddress = [
"" // contract address you want to subscribe, if it's set to "", you will receive contract logs/events with any contract address.
]
}
}
constant_result: [ '' ] <--- Please tell me how to solve it