Documentation
¶
Overview ¶
MIT License
Copyright (c) 2016 GenesisCommunity ¶
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
MIT License ¶
Copyright (c) 2016 GenesisCommunity ¶
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
MIT License ¶
Copyright (c) 2016 GenesisCommunity ¶
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Index ¶
Constants ¶
const ( TxTypeFirstBlock = 1 TxTypeStopNetwork = 2 TxTypeParserFirstBlock = "FirstBlock" TxTypeParserStopNetwork = "StopNetwork" )
const ( NetworkError = "Network" JSONMarshallError = "JSONMarshall" JSONUnmarshallError = "JSONUnmarshall" CommandExecutionError = "CommandExecution" ConversionError = "Conversion" TypeError = "Type" ProtocolError = "Protocol" MarshallingError = "Marshall" UnmarshallingError = "Unmarshall" ParseError = "Parse" IOError = "IO" CryptoError = "Crypto" ContractError = "Contract" DBError = "DB" PanicRecoveredError = "Panic" ConnectionError = "Connection" ConfigError = "Config" VMError = "VM" JustWaiting = "JustWaiting" BlockError = "Block" ParserError = "Parser" ContextError = "Context" SessionError = "Session" RouteError = "Route" NotFound = "NotFound" Found = "Found" EmptyObject = "EmptyObject" InvalidObject = "InvalidObject" DuplicateObject = "DuplicateObject" UnknownObject = "UnknownObject" ParameterExceeded = "ParameterExceeded" DivisionByZero = "DivisionByZero" EvalError = "Eval" JWTError = "JWT" AccessDenied = "AccessDenied" SizeDoesNotMatch = "SizeDoesNotMatch" NoIndex = "NoIndex" NoFunds = "NoFunds" BlockIsFirst = "BlockIsFirst" IncorrectCallingContract = "IncorrectCallingContract" WritingFile = "WritingFile" CentrifugoError = "CentrifugoError" StatsdError = "StatsdError" MigrationError = "MigrationError" AutoupdateError = "AutoupdateError" BCRelevanceError = "BCRelevanceError" BCActualizationError = "BCActualizationError" SchedulerError = "SchedulerError" SyncProcess = "SyncProcess" WrongModeError = "WrongModeError" VDEManagerError = "VDEManagerError" BadTxError = "BadTxError" )
Types of log errors
const AddressLength = 20
AddressLength is length of address
const AvailableBCGap = 4
const BLOCK_VERSION = 1
BLOCK_VERSION is block version
const BlockSize = 16
BlockSize is size of block
const DATA_TYPE_BLOCK_BODY = 7
DATA_TYPE_BLOCK_BODY is body block datatype
const DATA_TYPE_MAX_BLOCK_ID = 10
DATA_TYPE_MAX_BLOCK_ID is block id max datatype
const DEFAULT_TCP_PORT = 7078
DEFAULT_TCP_PORT used when port number missed in host addr
const DOWNLOAD_CHAIN_TRY_COUNT = 10
DOWNLOAD_CHAIN_TRY_COUNT is number of attempt
const DefaultConfigFile = "config.toml"
DefaultConfigFile name of config file (toml format)
const DefaultLockFilename = "go-genesis.lock"
DefaultLockFilename is default filename of lock file
const DefaultNodesConnectDelay = 6
const DefaultPidFilename = "go-genesis.pid"
DefaultPidFilename is default filename of pid file
const DefaultTempDirName = "genesis-temp"
DefaultTempDirName is default name of temporary directory
const DefaultVDE = 1
DefaultVDE allways is 1
const DefaultWorkdirName = "genesis-data"
DefaultWorkdirName name of working directory
const EGS_DIGIT = 18
EGS_DIGIT money_digit for EGS 1000000000000000000
const ERROR_TIME = 1
ERROR_TIME is error time
const FirstBlockFilename = "1block"
FirstBlockFilename name of first block binary file
const FounderAmount = 50000
FounderAmount is the starting amount of founder
const FromToPerDayLimit = 10000
FromToPerDayLimit day limit token transfer between accounts
const HashSize = 32
HashSize is size of hash
const KeyIDFilename = "KeyID"
KeyIDFilename generated KeyID
const MAX_TX_BACK = 86400
MAX_TX_BACK transaction may wander in the net for a day and then get into a block
const MAX_TX_FORW = 0
MAX_TX_FORW How fast could the time of transaction pass
const MIN_CONFIRMED_NODES = 0
MIN_CONFIRMED_NODES The number of nodes which should have the same block as we have for regarding this block belongs to the major part of DC-net. For get_confirmed_block_id()
const MaxTXAttempt = 10
const MoneyLength = 30
MoneyLength is the maximum number of digits in money value
const NETWORK_ID = 1
NETWORK_ID is id of network
const NodePrivateKeyFilename = "NodePrivateKey"
NodePrivateKeyFilename name of node private key file
const NodePublicKeyFilename = "NodePublicKey"
NodePublicKeyFilename name of node public key file
const PrivateKeyFilename = "PrivateKey"
PrivateKeyFilename name of wallet private key file
const PrivkeyLength = 32
PrivkeyLength is privkey length
const PubkeySizeLength = 64
PubkeySizeLength is pubkey length
const PublicKeyFilename = "PublicKey"
PublicKeyFilename name of wallet public key file
const READ_TIMEOUT = 20
READ_TIMEOUT is timeout for TCP
const ROUND_FIX = 0.00000000001
ROUND_FIX is rounding constant
const RollbackResultFilename = "rollback_result"
RollbackResultFilename rollback result file
const TCPConnTimeout = 5 * time.Second
TCPConnTimeout timeout of tcp connection
const TokenMovementQtyPerBlockLimit = 100
TokenMovementQtyPerBlockLimit block limit token transfer
const TxRequestExpire = 1 * time.Minute
TxRequestExpire is expiration time for request of transaction
const UPD_AND_VER_URL = "http://apla.io"
UPD_AND_VER_URL is root url
const VERSION = "0.9.4"
VERSION is current version
const WAIT_CONFIRMED_NODES = 10
WAIT_CONFIRMED_NODES is used in confirmations
const WRITE_TIMEOUT = 20
WRITE_TIMEOUT is timeout for TCP
Variables ¶
var ApiPath = `/api/v2/`
ApiPath is the beginning of the api url
var TxTypes = map[int]string{ TxTypeFirstBlock: TxTypeParserFirstBlock, TxTypeStopNetwork: TxTypeParserStopNetwork, }
TxTypes is the list of the embedded transactions
var UsedStopNetworkCerts = [][]byte{}
UsedStopNetworkCerts contains a list of certificates that were used to stop the network
Functions ¶
func MakeStruct ¶
func MakeStruct(name string) interface{}
MakeStruct is only used for FirstBlock now
Types ¶
type BlockHeader ¶
type BlockHeader struct { Type byte BlockID uint32 Time uint32 WalletID int64 StateID byte Sign []byte }
BlockHeader is a structure of the block header
type FirstBlock ¶
type FirstBlock struct { TxHeader PublicKey []byte NodePublicKey []byte StopNetworkCertBundle []byte }
FirstBlock is the header of FirstBlock transaction