Go implementation of the Ethereum protocol
Find a file
Daniel Liu c616077fb5 metrics: improve accuracy of CPU gauges (#26793)
This PR changes metrics collection to actually measure the time interval between collections, rather
than assume 3 seconds. I did some ad hoc profiling, and on slower hardware (eg, my Raspberry Pi 4)
I routinely saw intervals between 3.3 - 3.5 seconds, with some being as high as 4.5 seconds. This
will generally cause the CPU gauge readings to be too high, and in some cases can cause impossibly
large values for the CPU load metrics (eg. greater than 400 for a 4 core CPU).

---------

Co-authored-by: Felix Lange <fjl@twurst.com>
2024-12-13 14:00:13 +08:00
.github accounts, build, mobile: remove Android and iOS support (#26599) 2024-11-15 15:46:25 +08:00
accounts crypto: add SignatureLength constant and use it everywhere (#19996) 2024-12-09 17:48:59 +08:00
assets/images update README and include a logo photo 2022-07-24 21:44:58 +10:00
bmt crypto: switch over to upstream sha3 package (#18390) 2024-12-09 17:48:59 +08:00
build PDF-01 (#397) 2024-01-19 15:05:03 +04:00
cicd fix typo and local script 2024-12-03 02:29:40 +04:00
cmd metrics/influxdb: support V2 (#23194) 2024-12-13 14:00:12 +08:00
common crypto: switch over to upstream sha3 package (#18390) 2024-12-09 17:48:59 +08:00
compression/rle compression/rle: fix staticcheck warning SA9004: constant has no explicit type 2024-10-30 21:12:32 +08:00
consensus crypto: add SignatureLength constant and use it everywhere (#19996) 2024-12-09 17:48:59 +08:00
console node, p2p/simulations: fix node.Node AccountsManager leak (#19004) 2024-11-25 16:33:26 +08:00
containers/docker containers: drop vagrant support, noone's maintaining it 2018-03-14 13:23:40 +02:00
contracts all: replace log15 with slog (#28187) 2024-11-15 10:02:42 +08:00
core core, metrics, p2p: expose various counter metrics for grafana (#19692) 2024-12-13 14:00:11 +08:00
crypto crypto: fix typos in comments (#29186) 2024-12-09 17:49:00 +08:00
docker all: normalize flag's name 2024-11-25 16:39:29 +08:00
eth crypto: switch over to upstream sha3 package (#18390) 2024-12-09 17:48:59 +08:00
ethclient ethclient: apply accessList field in toCallArg (#28832) 2024-11-01 11:36:53 +08:00
ethdb new EVM Upgrade 2021-09-21 16:53:46 +05:30
ethstats all: replace strings.Replace with string.ReplaceAll (#24835) 2024-12-08 11:51:14 +08:00
event all: fix staticcheck warning ST1006: don't use generic name self 2024-10-25 21:30:54 +08:00
genesis xin-203 fix wrong config hash and update v2 params on mainnet (#109) 2022-07-12 16:56:55 +02:00
internal metrics/exp: allow configuring metrics HTTP server on separate endpoint (#21290) 2024-12-13 14:00:12 +08:00
les eth/gasprice: remove default from config (#30080) 2024-11-13 09:30:55 +08:00
light log: remove lazy, remove unused interfaces, unexport methods (#28622) 2024-11-15 10:02:42 +08:00
log log: fix issues with benchmarks (#30667) 2024-11-15 10:02:43 +08:00
metrics metrics: improve accuracy of CPU gauges (#26793) 2024-12-13 14:00:13 +08:00
miner metrics: fix some typos (#25551) 2024-12-13 14:00:12 +08:00
node all: use http package to replace http method names (26535) 2024-12-05 10:59:42 +08:00
p2p core, metrics, p2p: expose various counter metrics for grafana (#19692) 2024-12-13 14:00:11 +08:00
params recover devnet by increasing timeout (#760) 2024-12-12 20:28:46 -08:00
rlp all: change format 0x%x to %#x (#25221) 2024-09-27 15:24:31 +08:00
rpc rpc: swap out timer metrics to histograms (#25044) 2024-12-13 14:00:12 +08:00
swarm all: use errrors.New instead of empty fmt.Errorf 2024-06-14 19:19:21 +08:00
tests crypto, tests: update fuzzers to native go fuzzing (#28352) 2024-12-09 17:49:00 +08:00
trie fix tautological condition: nil == nil 2024-10-31 09:01:12 +08:00
XDCx crypto: switch over to upstream sha3 package (#18390) 2024-12-09 17:48:59 +08:00
XDCxDAO XDCxDAO: fix staticcheck warning SA5007: infinite recursive call 2024-10-30 21:16:02 +08:00
XDCxlending crypto: switch over to upstream sha3 package (#18390) 2024-12-09 17:48:59 +08:00
.dockerignore dockerignore, internal/build: forward correct git folder 2017-11-12 22:52:41 +02:00
.gitattributes FIx Bad block error. 2021-09-17 17:59:06 +05:30
.gitignore add testnet and mainnet node for latest code testing (#467) 2024-03-04 17:13:50 +11:00
.travis.yml.bak remove all CI warning by upgrade to nodejs 20 image (#461) 2024-03-03 16:20:38 +11:00
COPYING all: update license information 2015-07-07 14:12:44 +02:00
COPYING.LESSER all: update license information 2015-07-07 14:12:44 +02:00
Dockerfile bump go to 1.21 in Dockerfiles 2023-10-23 00:08:43 +08:00
Dockerfile.bootnode bump go to 1.21 in Dockerfiles 2023-10-23 00:08:43 +08:00
Dockerfile.node bump go to 1.21 in Dockerfiles 2023-10-23 00:08:43 +08:00
go.mod metrics/influxdb: support V2 (#23194) 2024-12-13 14:00:12 +08:00
go.sum metrics/influxdb: support V2 (#23194) 2024-12-13 14:00:12 +08:00
interfaces.go ethclient: add FeeHistory support (#25403) 2024-11-01 11:36:53 +08:00
Makefile bump go to 1.21 in makefile and ci.go 2023-10-23 21:56:09 +08:00
README.md merge from master 2023-07-30 16:50:45 +10:00

XDPoSChain

XinFin XDPoSchain
Enterprise ready hybrid blockchain for global trade and finance


XinFin Hybrid Blockchain

XinFin Hybrid Blockchain is an Enterprise ready Blockchain for global trade and finance

Visit: XinFin.org Contribute: Developer Docs

XinFin Network XDPoS is community driven project to achieve the following

  • XinFin DPOS (XDPoS) consensus that selects 108 set of Masternodes to achieve a high throughput Energy efficient consensus with instant block finality

  • KYC Enforcement on Masternodes for Enterprise Adoption and compliance

  • Ability to port/relay limited set of data and transactions from privacy channels to public channel

  • Interoperability between applications hosted on Private Blockchains like Corda, Hyperledger, Quorum(JP Morgan) using relayers to XinFin Network

  • Customer Centric and consortium driven Governance to equally benefit the validators as well as providing comfort for large scale enterprise applications to be hosted on the Network. This achieves

    • Rapid Upgradability

    • DApps Standardisation for rapid commercialisation

    • Compliance with major global jurisdictions.

KYC for masternodes

OVERVIEW

To add a layer of KYC for masternodes in the current system and a sense of ownership amongst the masternodes hence tying such a cluster of masternodes to physical entity which can held accountable for its actions.

Design

We established a bidirectional connection between a candidate and its owner inorder to retrieve a candidate belonging to a specific owner & vice versa.

All the masternodes are recognized by the KYC of their owners and hence are considered as a single verified entity ( for eg. while voting for invalid KYC, only one vote is considered per such cluster )

The contract is very strict in handing out penalty for invalid KYC, it results loss of all funds invested in all of its candidates.

For eg. say A proposes condidates B,C,D by paying for its proposal cost. If at a later stage if some predecided amount of owners ( investors ) vote that a KYC for a A is invalid then A & all of its candidates (B,C,D) will lose their position & all their funds will be lost ( will remain with contract wallet ).

For developers

Continues integration & delivery

See https://github.com/XinFinOrg/XDPoSChain/tree/dev-upgrade/cicd

To contribute

Simple create a pull request along with proper reasoning, we'll get back to you.

Our Channels : Telegram Developer Group or XDC.Dev