Go implementation of the Ethereum protocol
Find a file
Daniel Liu 14acdf2dd1 log: remove lazy, remove unused interfaces, unexport methods (#28622)
This change

- Removes interface `log.Format`,
- Removes method `log.FormatFunc`,
- unexports `TerminalHandler.TerminalFormat` formatting methods (renamed to `TerminalHandler.format`)
- removes the notion of `log.Lazy` values

The lazy handler was useful in the old log package, since it
could defer the evaluation of costly attributes until later in the
log pipeline: thus, if the logging was done at 'Trace', we could
skip evaluation if logging only was set to 'Info'.

With the move to slog, this way of deferring evaluation is no longer
needed, since slog introduced 'Enabled': the caller can thus do
the evaluate-or-not decision at the callsite, which is much more
straight-forward than dealing with lazy reflect-based evaluation.

Also, lazy evaluation would not work with 'native' slog, as in, these
two statements would be evaluated differently:

```golang
  log.Info("foo", "my lazy", lazyObj)
  slog.Info("foo", "my lazy", lazyObj)
```
2024-11-15 10:02:42 +08:00
.github .github: remove whisper from CODEOWNERS (#21527) 2024-11-13 12:37:42 +08:00
accounts all: make logs a bit easier on the eye to digest (#22665) 2024-11-15 10:02:41 +08:00
assets/images update README and include a logo photo 2022-07-24 21:44:58 +10:00
bmt all: fix staticcheck warning SA4010: append result never used 2024-10-31 10:06:04 +08:00
build PDF-01 (#397) 2024-01-19 15:05:03 +04:00
cicd downsize devnet rpc (#724) 2024-10-31 22:43:07 -07:00
cmd all: replace log15 with slog (#28187) 2024-11-15 10:02:42 +08:00
common log: avoid stack lookups when not needed/used (#28069) 2024-11-15 10:02:42 +08:00
compression/rle compression/rle: fix staticcheck warning SA9004: constant has no explicit type 2024-10-30 21:12:32 +08:00
consensus consensus/misc: move eip1559 into a package (#27828) 2024-11-01 11:36:53 +08:00
console all: fix staticcheck warning ST1005: incorrectly formatted error string 2024-10-24 09:48:20 +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 all: make logs a bit easier on the eye to digest (#22665) 2024-11-15 10:02:41 +08:00
crypto crypto/bn256: fix staticcheck warning SA9009: ineffectual compiler directive 2024-10-30 21:10:45 +08:00
docker new EVM Upgrade 2021-09-21 16:53:46 +05:30
eth all: replace log15 with slog (#28187) 2024-11-15 10:02:42 +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 ethstats: fix full node interface post 1559 (#23159) 2024-11-01 11:36:52 +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 log: remove lazy, remove unused interfaces, unexport methods (#28622) 2024-11-15 10:02:42 +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: remove lazy, remove unused interfaces, unexport methods (#28622) 2024-11-15 10:02:42 +08:00
metrics metrics/influxdb: fix staticcheck warning SA1015: replace time.Tick with time.NewTicker 2024-10-31 11:01:45 +08:00
miner consensus/misc: move eip1559 into a package (#27828) 2024-11-01 11:36:53 +08:00
mobile all: replace log15 with slog (#28187) 2024-11-15 10:02:42 +08:00
node node: fix websocket connection header check (#21646) 2024-11-13 09:35:41 +08:00
p2p log: remove lazy, remove unused interfaces, unexport methods (#28622) 2024-11-15 10:02:42 +08:00
params core/vm: implement EIP-3860: Limit and meter initcode (#23847) 2024-11-01 11:36:53 +08:00
rlp all: change format 0x%x to %#x (#25221) 2024-09-27 15:24:31 +08:00
rpc node: allow WebSocket and HTTP work on same port (#20810) 2024-11-13 09:35:41 +08:00
swarm all: use errrors.New instead of empty fmt.Errorf 2024-06-14 19:19:21 +08:00
tests core: only check sendernoeoa in non fake mode (#23424) 2024-11-01 11:36:53 +08:00
trie fix tautological condition: nil == nil 2024-10-31 09:01:12 +08:00
XDCx all: fix staticcheck warning ST1006: don't use generic name self 2024-10-25 21:30:54 +08:00
XDCxDAO XDCxDAO: fix staticcheck warning SA5007: infinite recursive call 2024-10-30 21:16:02 +08:00
XDCxlending XDCxlending: fix staticcheck warning S1008: simplify returning boolean expression 2024-10-31 11:14:01 +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 all: replace log15 with slog (#28187) 2024-11-15 10:02:42 +08:00
go.sum all: replace log15 with slog (#28187) 2024-11-15 10:02:42 +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