Go implementation of the Ethereum protocol
Find a file
Daniel Liu 007314980f
rpc: set Request.GetBody for client requests #24292 (#965)
When talking to an HTTP2 server, there are situations where it needs to
"rewind" the Request.Body. To allow this, we have to set up the Request.GetBody
function to return a brand new instance of the body.

If not set, we can end up with the following error:

    http2: Transport: cannot retry err [http2: Transport received Server's graceful shutdown GOAWAY] after Request.Body was written; define Request.GetBody to avoid this error

See this commit for more information: cffdcf672a

Co-authored-by: Valentin Trinqué <ValentinTrinque@users.noreply.github.com>
2025-04-24 18:37:08 +08:00
.github Update ci.yml 2025-03-11 14:01:00 +04:00
accounts all: refactor package node #21105 (#923) 2025-04-10 18:52:49 +08:00
assets/images
beacon
bmt
build build: support auto-completion for bash 2025-04-07 16:37:05 +08:00
cicd all: update parameters for rollback 2025-04-12 11:38:27 +08:00
cmd cmd/XDC, cmd/utils: set network flag early (#938) 2025-04-24 18:09:59 +08:00
common update devnet reward parameter (#980) 2025-04-24 03:03:32 -07:00
compression/rle
consensus Reward float upgrade (#940) 2025-04-16 02:03:41 -07:00
console console: handle eth.coinbase throws #19374 (#953) 2025-04-24 18:11:48 +08:00
containers/docker
contracts core/state: fix state iterator (#19127) 2025-03-28 22:34:59 +08:00
core all: fix warning of DeepEqual on error #23624 (#960) 2025-04-24 18:31:47 +08:00
crypto crypto/secp256k1: update libsecp256k1 (#31242) 2025-03-19 18:02:46 +08:00
docker
eth eth: some typo mistake (#16802) (#948) 2025-04-21 16:36:20 +08:00
ethclient api/bind: add CallOpts.BlockHash to allow calling contracts at a specific block hash (#28084) 2025-01-24 16:54:12 +08:00
ethdb all: add build tags for wasip1 (#31090) 2025-03-19 18:02:46 +08:00
ethstats all: refactor package node #21105 (#923) 2025-04-10 18:52:49 +08:00
event
genesis all: update parameters for rollback 2025-04-12 11:38:27 +08:00
internal internal/jsre, node, rpc: fix goroutine leaks in tests #24211 (#964) 2025-04-24 18:36:10 +08:00
log
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 internal/jsre, node, rpc: fix goroutine leaks in tests #24211 (#964) 2025-04-24 18:36:10 +08:00
p2p all: fix warning of DeepEqual on error #23624 (#960) 2025-04-24 18:31:47 +08:00
params update devnet reward parameter (#980) 2025-04-24 03:03:32 -07:00
rlp all: get rid of custom MaxUint64 and MaxUint64 (#30636) 2024-12-28 09:06:31 +08:00
rpc rpc: set Request.GetBody for client requests #24292 (#965) 2025-04-24 18:37:08 +08:00
swarm
tests cmd, core, eth, trie: add trie read caching layer (#18087) (#946) 2025-04-16 17:27:43 +08:00
trie cmd, core, eth, trie: add trie read caching layer (#18087) (#946) 2025-04-16 17:27:43 +08:00
XDCx all: refactor package node #21105 (#923) 2025-04-10 18:52:49 +08:00
XDCxDAO all: add read-only option to database 2025-01-24 14:24:39 +08:00
XDCxlending all: refactor package node #21105 (#923) 2025-04-10 18:52:49 +08:00
.dockerignore
.gitattributes
.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
COPYING.LESSER
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 all: update to go version 1.23 2025-03-01 16:42:11 +08:00
go.sum crypto/kz4844: pass blobs by ref (#29050) 2025-02-11 18:26:56 +08:00
interfaces.go
Makefile Makefile: add devtools and help targets, remove gc target 2025-04-07 16:38:00 +08:00
README.md

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