Documentation ¶
Index ¶
- Constants
- Variables
- func CheckChainParameterValue(field, value string, icp *ImmutableChainParameters, cp *ChainParameters, ...) error
- func CheckSysConfigArgType(field, value string) error
- func CreateInitDKS() (secStr, pubStr string)
- func DeriveSha(list DerivableList) common.Hash
- func GenInitPair() (kyber.Scalar, kyber.Point)
- func GetTrieInfo(list DerivableList) (*trie.Trie, common.Hash)
- func PointToStr(pub kyber.Point) string
- func ScalarToStr(sec kyber.Scalar) string
- func StrToMedAdd(addStr string) (common.Address, error)
- func StrToMedNode(medNode string) (*discover.Node, error)
- func StrToPoint(pubStr string) (kyber.Point, error)
- func StrToScalar(secStr string) (kyber.Scalar, error)
- type ChainParameters
- type ChainParametersBase
- type ChainParametersExtra
- type ChainParametersExtra104alpha
- type ChainParametersExtraTemp
- type ChainParametersExtraTemp104alpha
- type ChainParametersTemp
- type ConsensusEngine
- type ConsensusEvent
- type DerivableList
- type DigitalIdentityConfig
- type Genesis
- type GetMediatorCountFn
- type ImmutableChainParameters
- type InitialMediator
- type JurorDepositExtra
- type JurorDepositExtraJson
- type Mediator
- type MediatorApplyInfo
- type MediatorBase
- type MediatorInfoBase
- type MediatorInfoExpand
- type MediatorInfoExpand105alpha
- type SysContract
- type UtxoInterface
- type Utxos
Constants ¶
View Source
const ( DefaultTokenAmount = "100000000000000000" //DefaultTokenDecimal = 8 DefaultChainID = 1 DefaultPledgeDailyReward = 288745000 //DefaultPledgeDailyReward = 300000000 //当 t = 2 时,即按批分红,且继续质押,且提取时,tx_size = 2644 b,当前单元大小为 5 m = 5120 kb =>1,982.934947049924 // 即 t = 1时,tx_size = 1322 b unit =5120 kb,t = 3,872.919818456884 DefaultPledgeAllocateThreshold = 1000 // 当添加新质押地址 t = 2 时,tx_size = 1267 b,当前单元大小为 5 m = 5120 kb =>3,236.345679012346 // 即 t = 1 时, tx_size = 633.5 b,当前单元大小为 5 m = 5120 kb =>8,088.467614533965 DefaultPledgeRecordsThreshold = 2000 // DefaultTxCoinYearRate = 0 DefaultRewardHeight = 100 DefaultGenerateUnitReward = 15000 DefaultDepositPeriod = 0 DefaultDepositAmountForMediator = 50 * 100000000 DefaultDepositAmountForJury = 10 * 100000000 DefaultDepositAmountForDeveloper = 1 * 100000000 DefaultFoundationAddress = "P1LA8TkEWxU6FcMzkyeSbf9b9FwZwxrYRuF" DefaultUccMemory = 524288000 // 每个容器使用内存最大 = 524288000 = 500 M DefaultUccCpuQuota = 100000 // 每个容器最多使用CPU核数 = 1 CPU DefaultUccDisk = 1073741824 // 每个容器磁盘使用量最多使用 = 1073741824 = 1G DefaultUccPrivileged = false DefaultUccNetworkMode = "gptn-net" //TODO xiaozhi 生产环境 //DefaultUccNetworkMode = "host" //TODO xiaozhi 测试容器运行网络模式 DefaultUccOOMKillDisable = false DefaultContainerDuringTime = 0 //7天 = 604800 秒 DefaultRmExpConFromSysParam = true //默认删除过期合约容器以系统参数 7 天为主 DefaultTempUccMemory = 1073741824 DefaultTempUccCpuQuota = 200000 DefaultTokenHolder = "P1Kp2hcLhGEP45Xgx7vmSrE37QXunJUd8gJ" DefaultMediator = "P1nqukWkjFKk4UCUd2mdfV5VAgVuCApyXd" DefaultPublickey = "0236b88303d4c1986de09a2d1c292b16fd2b90fb89b5d2874705e4e17c4e648c26" DefaultNodeInfo = "pnode://4bdc1c533f6e3700a0a6cc346bf2364eace58a10d8a782762c8d2b27cf4d96c25827c82a15" + "684d348e88722b259f31abcccd4d0eaae0f52eeb85e1eb5342b862@127.0.0.1:30303" DefaultInitPubKey = "2SvBCoCHWA8Zg2Q8v2onmaTeZj6YmWLbp6mzoCZeDwiUcmuqFwd8fZXCfdmEhTodbWaSJ8T7MvjQiZkn4S9VTQnKDr" + "EkETt84Sr58vmjVdhdXNjjzqn8j6oHzvduxGo4UjWB66wd1GFXKoz5XD8hcPDzCyGVqZLjb7wu2pkJxeG1Mt3" DefaultJuryAddr = "P16bXzewsexHwhGYdt1c1qbzjBirCqDg8mN" DefaultMaxMediatorCount = 1 DefaultActiveMediatorCount = 5 //21 DefaultMinMediatorCount = 1 //21 DefaultMinMediatorInterval = 1 DefaultMinMaintSkipSlots = 0 //contract//contractId1:v1;contractId2:v2;contractId3:v3 DefaultContractSystemVersion = "" /* 171-byte string literal not displayed */ DefaultContractSignatureNum = 3 DefaultContractElectionNum = 4 DefaultContractTxTimeoutUnitFee = 10 //s DefaultContractTxSizeUnitFee = 1 //byte DefaultContractTxInstallFeeLevel = 2.5 DefaultContractTxDeployFeeLevel = 1.5 DefaultContractTxInvokeFeeLevel = 1.0 DefaultContractTxStopFeeLevel = 0.5 DefaultText = "姓名 丨 坐标 丨 简介 \r\n" + "孟岩丨北京丨通证派倡导者、CSDN副总裁、柏链道捷CEO.\r\n" + "刘百祥丨上海丨 GoC-lab发起人兼技术社群负责人,复旦大学计算机博士.\r\n" + "陈澄丨上海丨引力区开发者社区总理事,EOS超级节点负责人.\r\n" + "孙红景丨北京丨CTO、13年IT开发和管理经验.\r\n" + "kobegpfan丨北京丨世界500强企业技术总监.\r\n" + "余奎丨上海丨加密经济学研究员、产品研发经理.\r\n" + "Shangsong丨北京丨Fabric、 多链、 分片 、跨链技术.\r\n" + "郑广军丨上海丨区块链java应用开发.\r\n" + "钮祜禄虫丨北京丨大数据架构、Dapp开发.\r\n" + "彭敏丨四川丨计算机网络和系统集成十余年有经验.\r\n" DefaultRootCABytes = "-----BEGIN CERTIFICATE-----\n" + "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\n" + "B8H3cQht7g48a4RhUw==\n" + "-----END CERTIFICATE-----" /* percentage fields are fixed point with a denominator of 10,000 */ PalletOne100Percent = 10000 PalletOne1Percent = PalletOne100Percent / 100 PalletOneIrreversibleThreshold = 70 * PalletOne1Percent DefaultMediatorInterval = 2 //Devin: Don't change /* seconds */ DefaultMaintenanceInterval = 60 * 5 // 60 * 60 * 24 // seconds, aka: 1 day DefaultMaintenanceSkipSlots = 0 //Devin: Don't change // 1 // number of slots to skip for maintenance interval DefaultMediatorCreateFee = 50000 DefaultAccountUpdateFee = 1000000 DefaultTransferPtnBaseFee = 5000 DefaultTransferPtnPricePerKByte = 30000 DefaultContractInvokeFee = 100000000 DefaultUnitMaxSize = 5 * 1024 * 1024 //5M )
Variables ¶
View Source
var Suite = bn256.NewSuiteG2()
Functions ¶
func CheckChainParameterValue ¶ added in v1.0.3
func CheckChainParameterValue(field, value string, icp *ImmutableChainParameters, cp *ChainParameters, fn GetMediatorCountFn) error
func CheckSysConfigArgType ¶ added in v1.0.3
func DeriveSha ¶
func DeriveSha(list DerivableList) common.Hash
func GenInitPair ¶
func GenInitPair() (kyber.Scalar, kyber.Point)
func GetTrieInfo ¶
func GetTrieInfo(list DerivableList) (*trie.Trie, common.Hash)
func StrToPoint ¶
func StrToScalar ¶
Types ¶
type ChainParameters ¶
type ChainParameters struct { ChainParametersBase ChainParametersExtra }
ChainParameters 区块链网络参数结构体的定义 变量名一定要大写,否则外部无法访问,导致无法进行json编码和解码
func NewChainParams ¶
func NewChainParams() ChainParameters
func (*ChainParameters) GetCPT ¶ added in v1.0.4
func (cp *ChainParameters) GetCPT() *ChainParametersTemp
type ChainParametersBase ¶
type ChainParametersBase struct { GenerateUnitReward uint64 `json:"generate_unit_reward"` //每生产一个单元,奖励多少Dao的PTN PledgeDailyReward uint64 `json:"pledge_daily_reward"` //质押金的日奖励额 RewardHeight uint64 `json:"reward_height"` //每多少高度进行一次奖励的派发 UnitMaxSize uint64 `json:"unit_max_size"` //一个单元最大允许多大 //TransactionMaxSize uint64 `json:"tx_max_size"` //一个交易最大允许多大 FoundationAddress string `json:"foundation_address"` //基金会地址,该地址具有一些特殊权限,比如发起参数修改的投票,发起罚没保证金等 DepositAmountForMediator uint64 `json:"deposit_amount_for_mediator"` //保证金的数量 DepositAmountForJury uint64 `json:"deposit_amount_for_jury"` DepositAmountForDeveloper uint64 `json:"deposit_amount_for_developer"` RmExpConFromSysParam bool `json:"remove_expired_container_from_system_parameter"` // 活跃mediator的数量。 number of active mediators ActiveMediatorCount uint8 `json:"active_mediator_count"` // 用户可投票mediator的最大数量。the maximum number of mediator users can vote for MaximumMediatorCount uint8 `json:"max_mediator_count"` // unit生产之间的间隔时间,以秒为单元。 interval in seconds between Units MediatorInterval uint8 `json:"mediator_interval"` // MaintenanceInterval 必须是 MediatorInterval的整数倍 // 区块链维护事件之间的间隔,以秒为单元。 interval in sections between unit maintenance events MaintenanceInterval uint32 `json:"maintenance_interval"` // 在维护时跳过的MediatorInterval数量。 number of MediatorInterval to skip at maintenance time MaintenanceSkipSlots uint8 `json:"maintenance_skip_slots"` // 目前的操作交易费,current schedule of fees MediatorCreateFee uint64 `json:"mediator_create_fee"` //no use, delete AccountUpdateFee uint64 `json:"account_update_fee"` TransferPtnBaseFee uint64 `json:"transfer_ptn_base_fee"` TransferPtnPricePerKByte uint64 `json:"transfer_ptn_price_per_KByte"` //APP_DATA }
func NewChainParametersBase ¶
func NewChainParametersBase() ChainParametersBase
type ChainParametersExtra ¶ added in v1.0.4
type ChainParametersExtra struct { ChainParametersExtra104alpha PledgeAllocateThreshold int `json:"pledge_allocate_threshold"` PledgeRecordsThreshold int `json:"pledge_records_threshold"` }
func NewChainParametersExtra ¶ added in v1.0.4
func NewChainParametersExtra() ChainParametersExtra
func (*ChainParametersExtra) GetCPT ¶ added in v1.0.4
func (cp *ChainParametersExtra) GetCPT() *ChainParametersExtraTemp
type ChainParametersExtra104alpha ¶ added in v1.0.4
type ChainParametersExtra104alpha struct { //对启动用户合约容器的相关资源的限制 UccMemory int64 `json:"ucc_memory"` UccCpuQuota int64 `json:"ucc_cpu_quota"` UccDisk int64 `json:"ucc_disk"` UccDuringTime int64 `json:"ucc_during_time"` //对中间容器的相关资源限制 TempUccMemory int64 `json:"temp_ucc_memory"` TempUccCpuQuota int64 `json:"temp_ucc_cpu_quota"` //contract about ContractSystemVersion string `json:"contract_system_version"` ContractSignatureNum int `json:"contract_signature_num"` ContractElectionNum int `json:"contract_election_num"` ContractTxTimeoutUnitFee uint64 `json:"contract_tx_timeout_unit_fee"` ContractTxSizeUnitFee uint64 `json:"contract_tx_size_unit_fee"` // price: dao/byte ContractTxInstallFeeLevel float64 `json:"contract_tx_install_fee_level"` ContractTxDeployFeeLevel float64 `json:"contract_tx_deploy_fee_level"` ContractTxInvokeFeeLevel float64 `json:"contract_tx_invoke_fee_level"` ContractTxStopFeeLevel float64 `json:"contract_tx_stop_fee_level"` }
func NewChainParametersExtra104alpha ¶ added in v1.0.4
func NewChainParametersExtra104alpha() ChainParametersExtra104alpha
func (*ChainParametersExtra104alpha) GetCPT ¶ added in v1.0.4
func (cp *ChainParametersExtra104alpha) GetCPT() *ChainParametersExtraTemp104alpha
type ChainParametersExtraTemp ¶ added in v1.0.4
type ChainParametersExtraTemp struct { ChainParametersExtraTemp104alpha PledgeAllocateThreshold string PledgeRecordsThreshold string }
func (*ChainParametersExtraTemp) GetCP ¶ added in v1.0.4
func (cpt *ChainParametersExtraTemp) GetCP(cp *ChainParametersExtra) error
type ChainParametersExtraTemp104alpha ¶ added in v1.0.4
type ChainParametersExtraTemp104alpha struct { UccMemory string //UccMemorySwap string UccCpuQuota string //UccCpuPeriod string UccDisk string UccDuringTime string TempUccMemory string //TempUccMemorySwap string TempUccCpuQuota string ContractSystemVersion string ContractSignatureNum string ContractElectionNum string ContractTxTimeoutUnitFee string ContractTxSizeUnitFee string ContractTxInstallFeeLevel string ContractTxDeployFeeLevel string ContractTxInvokeFeeLevel string ContractTxStopFeeLevel string }
func (*ChainParametersExtraTemp104alpha) GetCP ¶ added in v1.0.4
func (cpt *ChainParametersExtraTemp104alpha) GetCP(cp *ChainParametersExtra104alpha) error
type ChainParametersTemp ¶ added in v1.0.1
type ChainParametersTemp struct { ChainParametersBase ChainParametersExtraTemp }
only for serialization(storage/p2p)
func (*ChainParametersTemp) GetCP ¶ added in v1.0.4
func (cpt *ChainParametersTemp) GetCP(cp *ChainParameters) error
type ConsensusEngine ¶
type ConsensusEngine interface { Engine() int Stop() SubscribeCeEvent(chan<- ConsensusEvent) event.Subscription }
type ConsensusEvent ¶
type ConsensusEvent struct {
Ce []byte
}
type DerivableList ¶
type DigitalIdentityConfig ¶
type DigitalIdentityConfig struct { RootCAHolder string `json:"rootCAHolder"` // ROOT CA的持有者 RootCABytes string `json:"rootCABytes"` // ROOT CA证书内容 }
func DefaultDigitalIdentityConfig ¶
func DefaultDigitalIdentityConfig() DigitalIdentityConfig
type Genesis ¶
type Genesis struct { Version string `json:"version"` GasToken string `json:"gasToken"` TokenAmount string `json:"tokenAmount"` PublicKey string `json:"mediator_pubkey"` MediatorSign string `json:"mediator_sign"` //TokenAmount uint64 `json:"tokenAmount"` //TokenDecimal uint32 `json:"tokenDecimal"` //DecimalUnit string `json:"decimal_unit"` ChainID uint64 `json:"chainId"` TokenHolder string `json:"tokenHolder"` Text string `json:"text"` //SystemConfig SystemConfig `json:"systemConfig"` DigitalIdentityConfig DigitalIdentityConfig `json:"digitalIdentityConfig"` ParentUnitHash common.Hash `json:"parentUnitHash"` ParentUnitHeight int64 `json:"parentUnitHeight"` InitialParameters ChainParameters `json:"initialParameters"` ImmutableParameters ImmutableChainParameters `json:"immutableChainParameters"` InitialTimestamp int64 `json:"initialTimestamp"` //InitialActiveMediators uint16 `json:"initialActiveMediators"` InitialMediatorCandidates []*InitialMediator `json:"initialMediatorCandidates"` SystemContracts []SysContract `json:"systemContracts"` }
func (*Genesis) GetTokenAmount ¶
type GetMediatorCountFn ¶ added in v1.0.2
type GetMediatorCountFn func() int
type ImmutableChainParameters ¶
type ImmutableChainParameters struct { MinMaintSkipSlots uint8 `json:"min_maint_skip_slots"` // 最小区块链维护间隔 MinimumMediatorCount uint8 `json:"min_mediator_count"` // 最小活跃mediator数量 MinMediatorInterval uint8 `json:"min_mediator_interval"` // 最小的生产槽间隔时间 UccPrivileged bool `json:"ucc_privileged"` // 防止容器以root权限运行 UccCapDrop []string `json:"ucc_cap_drop"` // 确保容器以最小权限运行 UccNetworkMode string `json:"ucc_network_mode"` // 容器运行网络模式 UccOOMKillDisable bool `json:"ucc_oom_kill_disable"` // 是否内存使用量超过上限时系统杀死进程 }
func NewImmutChainParams ¶
func NewImmutChainParams() ImmutableChainParameters
type InitialMediator ¶
type InitialMediator struct { *MediatorInfoBase JurorDepositExtraJson }
genesis 文件定义的mediator结构体
func NewInitialMediator ¶
func NewInitialMediator() *InitialMediator
func (*InitialMediator) Validate ¶ added in v1.0.3
func (im *InitialMediator) Validate() (common.Address, JurorDepositExtra, error)
type JurorDepositExtra ¶ added in v1.0.3
type JurorDepositExtra struct { PublicKey []byte `json:"public_key"` // 账户地址对应的公钥 RewardAddr common.Address `json:"reward_address"` // 奖励地址,用于奖励 }
juror保证金额外信息
type JurorDepositExtraJson ¶ added in v1.0.3
type JurorDepositExtraJson struct { PublicKey string `json:"public_key"` // 账户地址对应的公钥 RewardAddr string `json:"reward_address"` // 奖励地址,用于奖励 }
juror保证金额外信息
func NewJurorDepositExtraJson ¶ added in v1.0.3
func NewJurorDepositExtraJson() JurorDepositExtraJson
func (*JurorDepositExtraJson) Validate ¶ added in v1.0.3
func (json *JurorDepositExtraJson) Validate(addStr string) (jde JurorDepositExtra, errs error)
type Mediator ¶
type Mediator struct { MediatorBase *MediatorApplyInfo *MediatorInfoExpand }
mediator 结构体 和具体的账户模型有关
func NewMediator ¶
func NewMediator() *Mediator
func (*Mediator) GetRewardAdd ¶ added in v1.0.2
type MediatorApplyInfo ¶
type MediatorApplyInfo struct { Logo string `json:"logo"` // 节点图标url Name string `json:"name"` // 节点名称 Location string `json:"loc"` // 节点所在地区 Url string `json:"url"` // 节点宣传网站 Description string `json:"applyInfo"` // 节点详细信息描述 }
Mediator申请信息
func NewMediatorApplyInfo ¶
func NewMediatorApplyInfo() *MediatorApplyInfo
type MediatorBase ¶ added in v1.0.5
type MediatorBase struct { Address common.Address `json:"address"` // mediator账户地址,主要用于产块签名 RewardAdd common.Address `json:"rewardAdd"` // mediator奖励地址,主要用于接收产块奖励 InitPubKey kyber.Point `json:"initPubKey"` // mediator的群签名初始公钥 Node *discover.Node `json:"node"` // mediator节点网络信息,包括ip和端口等 }
func NeweMediatorBase ¶ added in v1.0.5
func NeweMediatorBase() MediatorBase
type MediatorInfoBase ¶
type MediatorInfoBase struct { AddStr string `json:"account"` // mediator账户地址,主要用于产块签名 RewardAdd string `json:"rewardAdd"` // mediator奖励地址,主要用于接收产块奖励 InitPubKey string `json:"initPubKey"` // mediator的群签名初始公钥 Node string `json:"node"` // mediator节点网络信息,包括ip和端口等 }
mediator基本信息
func NewMediatorInfoBase ¶
func NewMediatorInfoBase() *MediatorInfoBase
type MediatorInfoExpand ¶
type MediatorInfoExpand struct { MediatorInfoExpand105alpha TotalProduct uint64 `json:"totalProduct"` // 当前mediator生产区块的总量 }
mediator扩展信息
func NewMediatorInfoExpand ¶
func NewMediatorInfoExpand() *MediatorInfoExpand
type MediatorInfoExpand105alpha ¶ added in v1.0.5
type MediatorInfoExpand105alpha struct { TotalMissed uint64 `json:"totalMissed"` // 当前mediator未能按照调度生产区块的总个数 LastConfirmedUnitNum uint32 `json:"lastConfirmedUnitNum"` // 当前mediator最新生产的区块编号 TotalVotes uint64 `json:"totalVotes"` // 当前mediator的总共得票数量 }
func NewMediatorInfoExpand105alpha ¶ added in v1.0.5
func NewMediatorInfoExpand105alpha() *MediatorInfoExpand105alpha
type SysContract ¶
type UtxoInterface ¶
type UtxoInterface interface {
GetAmount() uint64
}
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package accounts implements high level PalletOne account management.
|
Package accounts implements high level PalletOne account management. |
keystore
Package keystore implements encrypted storage of secp256k1 private keys.
|
Package keystore implements encrypted storage of secp256k1 private keys. |
This file is part of go-palletone.
|
This file is part of go-palletone. |
Package node sets up multi-protocol PalletOne nodes.
|
Package node sets up multi-protocol PalletOne nodes. |
Package state provides a caching layer atop the Ethereum state trie.
|
Package state provides a caching layer atop the Ethereum state trie. |
vmContractPub
|
|
validatefie
/* This file is part of go-palletone.
|
/* This file is part of go-palletone. |
Click to show internal directories.
Click to hide internal directories.