Documentation ¶
Overview ¶
Copyright 2020 The CortexTheseus Authors This file is part of the CortexTheseus library.
The CortexTheseus library is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
The CortexTheseus library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with the CortexTheseus library. If not, see <http://www.gnu.org/licenses/>.
Index ¶
Constants ¶
const ( PER_UPLOAD_BYTES = params.PER_UPLOAD_BYTES UploadGas = params.UploadGas )
const ( Bucket = 1024 Group = 32 SyncBatch = 4096 Delay = 6 //Scope = 4 //TIER = 3 //LEAFS = 32768 LimitSeeding = 2048 NEED = 10 )
const ( QueryTimeInterval = 1 ExpansionFactor float64 = 1.2 DefaultSeedInterval = 600 TorrentWaitingTime = 1800 DownloadWaitingTime = 2700 DefaultBytesLimitation = 512 * 1024 DefaultTmpPath = ".tmp" Version = "3" )
const ( ProtocolName = "nas" ProtocolVersion = uint64(4) NumberOfMessageCodes = 128 ProtocolVersionStr = "4.0" DefaultMaxMessageSize = uint32(1024) StatusCode = 0 QueryCode = 1 MsgCode = 2 PollCode = 3 VoteCode = 4 PeerStateCycle = time.Second * 300 ExpirationCycle = time.Second TransmissionCycle = 300 * time.Millisecond HandshakeTimeout = 60 * time.Second )
const ( FULL = "full" DEFAULT = "default" LAZY = "lazy" DEV = "dev" AUTO = "auto" )
const (
ClientVersion = "-COLA09-"
)
Variables ¶
var ( MainnetGenesisHash = common.HexToHash("0x21d6ce908e2d1464bd74bbdbf7249845493cc1ba10460758169b978e187762c1") TrustedCheckpoints = map[common.Hash]*TrustedCheckpoint{ MainnetGenesisHash: MainnetTrustedCheckpoint, } MainnetTrustedCheckpoint = &TrustedCheckpoint{ Name: "mainnet", TfsCheckPoint: 395964, TfsRoot: common.HexToHash("0xe78706dbcc1f853336a31a3e3f55dcb3d0d082fb8fd4b4b273fe859d657e5dcc"), Skips: []Skip{ {From: 1039, To: 4468}, {From: 5515, To: 10888}, {From: 10888, To: 137784}, {From: 137790, To: 156609}, {From: 160264, To: 395088}, {From: 395964, To: 1261969}, {From: 1261969, To: 1988320}, {From: 1988320, To: 2107911}, {From: 2108043, To: 2270725}, {From: 2270777, To: 2754916}, {From: 2755628, To: 5320722}, {From: 5320722, To: 5605351}, {From: 5605351, To: 5707301}, {From: 5707301, To: 6967375}, {From: 6967493, To: 9764864}, }, } )
var ( MainnetTrackers = []string{ "udp://tracker.cortexlabs.ai:5008", } GlobalTrackers = []string{ "udp://tracker.openbittorrent.com:6969/announce", "udp://tracker.opentrackr.org:1337/announce", } TorrentBoostNodes = []string{ "http://share.cortexlabs.ai:7881", } BestTrackerUrl = []string{"https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_best.txt", "https://cdn.jsdelivr.net/gh/ngosang/trackerslist@master/trackers_best.txt", "https://ngosang.github.io/trackerslist/trackers_best.txt", } ColaUrl = []string{"https://github.com/CortexFoundation/cola/releases/download/1.0.0/cola.txt"} )
var BadFiles = map[string]bool{ "3edcb8a793887d92db12d53124955681d5c20a43": true, }
var ColaFiles = map[string]bool{ "aea5584d0cd3865e90c80eace3bfcb062473d966": true, "3f1f6c007e8da3e16f7c3378a20a746e70f1c2b0": true, "1f1706fa53ce0723ba1c577418b222acbfa5a200": true, "1fb97d6da1761ddc051446307bd915506359a17a": true, "2b6ae7e31d65991e4ba575a05d635e9eb5ba30bf": true, "3101ac2c157ace6e4be72575758f7ba62b53e219": true, "3145ad19228c1cd2d051314e72f26c1ce77b7f02": true, "5a49fed84aaf368cbf472cc06e42f93a93d92db5": true, "6b75cc1354495ec763a6b295ee407ea864a0c292": true, "a83dc64f96494b6b6c4f5291196d0ddd2f1a0769": true, "ae5a301ddfe1d4be9848adf8dde9f78d7ebba919": true, "b2f5b0036877be22c6101bdfa5f2c7927fc35ef8": true, "c599d0fa8d816cf83c5018232453c6ae57db4ab3": true, }
var DefaultConfig = Config{ Port: 0, DefaultTrackers: MainnetTrackers, BoostNodes: TorrentBoostNodes, Mode: "default", DisableUTP: true, DisableDHT: true, DisableTCP: false, DisableIPv6: false, MaxSeedingNum: LimitSeeding / 2, MaxActiveNum: LimitSeeding / 2, Boost: false, Quiet: true, UploadRate: -1, DownloadRate: -1, Metrics: true, Server: false, Wormhole: false, Engine: "badger", }
DefaultConfig contains default settings for the storage.
var GoodFiles = map[string]bool{ "aea5584d0cd3865e90c80eace3bfcb062473d966": true, "3145ad19228c1cd2d051314e72f26c1ce77b7f02": true, "c599d0fa8d816cf83c5018232453c6ae57db4ab3": true, "ae5a301ddfe1d4be9848adf8dde9f78d7ebba919": true, "3101ac2c157ace6e4be72575758f7ba62b53e219": true, "1fb97d6da1761ddc051446307bd915506359a17a": true, "a83dc64f96494b6b6c4f5291196d0ddd2f1a0769": true, "3f1f6c007e8da3e16f7c3378a20a746e70f1c2b0": true, "1f1706fa53ce0723ba1c577418b222acbfa5a200": true, "5a49fed84aaf368cbf472cc06e42f93a93d92db5": true, "b2f5b0036877be22c6101bdfa5f2c7927fc35ef8": true, "6b75cc1354495ec763a6b295ee407ea864a0c292": true, "2b6ae7e31d65991e4ba575a05d635e9eb5ba30bf": true, "ec6b1f5b5073c07dd35a53a3a13220c1a21e426d": false, "9f222b4afa685d74d82e88972922cc9108a81791": false, "04615009127a4829d32d22dddb45664a2aee8067": false, "6dfc52c480a779dd3e2c9dce9772a5131ee1f4d7": false, "d31d1b0f588069aa6f36de5a7025a8d73a9a49f6": false, "9dbde0099a270c23d5dec0acb0ac537b0fb35c27": false, "3df6926c165db01330574fba8c23aa7b03311356": false, "6b3fd83c1fb05ae5145673218b53a1411460f3e0": false, "b3d2f3d4f395924ca4cf5bd1843d49de043c959c": false, "ad3d77101866c0c7520aa41a5c41eee92500f809": false, "67b315aac2fbdbaf97ac8d40df0b9c435b65c4aa": false, "b08e2c6103157ab99040cdc9ddfee05e93763f6c": false, "de58609743e5cd0cb18798d91a196f418ac25016": true, }
Functions ¶
Types ¶
type Config ¶
type Config struct { // Host is the host interface on which to start the storage server. If this // field is empty, no storage will be started. Port int `toml:",omitempty"` DataDir string `toml:",omitempty"` RpcURI string `toml:",omitempty"` IpcPath string `toml:",omitempty"` DisableUTP bool `toml:",omitempty"` DisableTCP bool `toml:",omitempty"` DisableDHT bool `toml:",omitempty"` DisableIPv6 bool `toml:",omitempty"` DefaultTrackers []string `toml:",omitempty"` BoostNodes []string `toml:",omitempty"` Mode string `toml:",omitempty"` MaxSeedingNum int `toml:",omitempty"` MaxActiveNum int `toml:",omitempty"` //FullSeed bool `toml:",omitempty"` Boost bool `toml:",omitempty"` Quiet bool `toml:",omitempty"` UploadRate int `toml:",omitempty"` DownloadRate int `toml:",omitempty"` Metrics bool `toml:",omitempty"` Server bool `toml:",omitempty"` Wormhole bool `toml:",omitempty"` Engine string `toml:",omitempty"` }
Config ...