Go implementation of the Ethereum protocol
Find a file
Daniel Liu 8e6d98e121
eth/downloader: change intial download size #21366 (#1045)
This changes how the downloader works, a little bit. Previously, when block sync started,
we immediately started filling up to 8192 blocks. Usually this is fine, blocks are small
in the early numbers. The threshold then is lowered as we measure the size of the blocks
that are filled.

However, if the node is shut down and restarts syncing while we're in a heavy segment,
that might be bad. This PR introduces a more conservative initial threshold of 2K blocks
instead.

Co-authored-by: Martin Holst Swende <martin@swende.se>
2025-06-20 16:32:47 +08:00
.github Update ci.yml 2025-03-11 14:01:00 +04:00
accounts all: disable recording preimage of trie keys #21402 (#1054) 2025-06-17 13:10:47 +08:00
assets/images update README and include a logo photo 2022-07-24 21:44:58 +10:00
beacon beacon/types: add beacon chain data types (#27292) 2024-12-28 09:06:31 +08:00
bmt crypto: switch over to upstream sha3 package (#18390) 2024-12-09 17:48:59 +08:00
build build: support auto-completion for bash 2025-04-07 16:37:05 +08:00
cicd make start script accept SYNC_MODE and GC_MODE 2025-06-17 11:32:53 +04:00
cmd all: disable recording preimage of trie keys #21402 (#1054) 2025-06-17 13:10:47 +08:00
common record total minted into smart contract (#1026) 2025-06-16 02:31:33 -07:00
consensus Merge pull request #1104 from XinFinOrg/fix-getrewardbyaccount-edgecase 2025-06-17 11:29:08 +04:00
console console: handle eth.coinbase throws #19374 (#953) 2025-04-24 18:11:48 +08:00
containers/docker containers: drop vagrant support, noone's maintaining it 2018-03-14 13:23:40 +02:00
contracts fix: owner and foundation same address for reward (#1024) 2025-05-01 08:46:09 -07:00
core core/state: remove toAddr helper in tests #22772 (#1100) 2025-06-17 13:33:47 +08:00
crypto crypto/secp256k1: update libsecp256k1 (#31242) 2025-03-19 18:02:46 +08:00
docker all: normalize flag's name 2024-11-25 16:39:29 +08:00
docs docs: add document for JSONRPC API (#1027) 2025-05-19 15:30:52 +08:00
eth eth/downloader: change intial download size #21366 (#1045) 2025-06-20 16:32:47 +08:00
ethclient rpc: change BlockNumber constant values to match ethclient #27219 (#992) 2025-04-28 10:59:34 +08:00
ethdb core, ethdb, tests, trie: implement NewBatchWithSize API for batcher #24392 (#1085) 2025-06-17 13:26:50 +08:00
ethstats all: refactor package node #21105 (#923) 2025-04-10 18:52:49 +08:00
event all: fix staticcheck warning ST1006: don't use generic name self 2024-10-25 21:30:54 +08:00
genesis all: update parameters for rollback 2025-04-12 11:38:27 +08:00
internal record total minted into smart contract (#1026) 2025-06-16 02:31:33 -07:00
log log: fix issues with benchmarks (#30667) 2024-11-15 10:02:43 +08:00
metrics all: add build tags for wasip1 (#31090) 2025-03-19 18:02:46 +08:00
miner trie: use trie.NewStackTrie instead of new(trie.Trie) (#22246) 2025-04-07 16:44:32 +08:00
node all: fix tests on 32-bit and windows + minor rpc fixes #21871 (#1055) 2025-06-03 11:47:11 +08:00
p2p rpc: remove deprecated method Notifier.Closed #29162 (#1022) 2025-05-06 09:44:20 +08:00
params cicd, params: update bootnodes for testnet (#1110) 2025-06-17 13:35:28 +08:00
rlp all: not copy loop var for golang v1.22 (#1020) 2025-04-29 17:27:36 +08:00
rpc test: Updated test cases to include MaxInt64, MinInt64 and MaxUint64, also rename testcase to TestHas0xPrefix to cover Has0xPrefix public method in hexutil package 2025-05-16 12:55:45 +04:00
swarm all: use errrors.New instead of empty fmt.Errorf 2024-06-14 19:19:21 +08:00
tests core, ethdb, tests, trie: implement NewBatchWithSize API for batcher #24392 (#1085) 2025-06-17 13:26:50 +08:00
trie trie: fix spelling mistakes (#1122) 2025-06-20 16:29:57 +08:00
XDCx trie: faster snapshot generation #22504 (#1062) 2025-06-17 13:13:14 +08:00
XDCxDAO core, ethdb, tests, trie: implement NewBatchWithSize API for batcher #24392 (#1085) 2025-06-17 13:26:50 +08:00
XDCxlending trie: faster snapshot generation #22504 (#1062) 2025-06-17 13:13:14 +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 build: support golangci-lint v1.63.4 2025-01-11 23:56:59 +08:00
.golangci.yml build: support golangci-lint v1.63.4 2025-01-11 23:56:59 +08: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 fix docker build warning 2025-03-31 06:03:42 +04:00
Dockerfile.bootnode fix docker build warning 2025-03-31 06:03:42 +04:00
Dockerfile.node fix docker build warning 2025-03-31 06:03:42 +04:00
go.mod trie: use github.com/holiman/bloomfilter/v2 #22044 (#1059) 2025-06-03 11:52:45 +08:00
go.sum trie: use github.com/holiman/bloomfilter/v2 #22044 (#1059) 2025-06-03 11:52:45 +08:00
interfaces.go ethclient: add FeeHistory support (#25403) 2024-11-01 11:36:53 +08:00
Makefile Makefile: add devtools and help targets, remove gc target 2025-04-07 16:38:00 +08:00
README.md docs: add document for JSONRPC API (#1027) 2025-05-19 15:30:52 +08: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 ).

Documents

Document

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