KCC ist eine dezentralisierte high-performance Blockchain, Gebaut von Fans von KCS und KuCoin.
Entwickelt auf der Basis von "go-ethereum" mit dem Hintergedanken der Community eine "High-Speed" Blockchain Erfahrung mit niedrigen Gebühren zu bieten.
KCC wird folgende Eigenschaften bieten:
- Voll kompatibel mit Ethereum und ERC-20 Smart Contracts und extrem niedrigen migrations Gebühren.
- Der KuCoin Token (KCS) ist der native haupt Coin für die KCC und wird unter anderem für Gas Gebühren genutzt.
- Ein Block wird alle 3 Sekunden berechnet was eine höhere TPS (Transactions per Second) und Chain performance ermöglicht.
- Die Basis der KCC ist der "Proof of Staked Authority" (PoSA) Konsensusalgorithmus mit hoher Effizienz, Sicherheit und Stabilität.
Mission: Beschleunigung der Wertübertragung um die ganze Welt ohne Grenzen.
Community Mitglieder können jede Ethereum compatible Wallet mit dem KCC Netzwerk Parametern konfigurieren wie z.B. metamask, myetherwallet, imtoken, TokenPocket etc.
Chain Name: KCC-MAINNET
Chain ID: 321
Symbol: KCS
RPC URL: https://rpc-mainnet.kcc.network
Explorer URL: https://explorer.kcc.io/de
WebSocket RPC URL: wss://rpc-ws-mainnet.kcc.network
Chain Name: KCC-testnet
Chain ID: 322
Symbol: KCS
RPC URL: https://rpc-testnet.kcc.network
Explorer URL: https://scan-testnet.kcc.network
WebSocket RPC URL: wss://rpc-ws-testnet.kcc.network
Faucet URL: https://faucet-testnet.kcc.network (Zu testzwecken ohne einen Wert)
- Linux oder Mac
- golang >= 1.13
- git
Wie downloadet und installiert man golang?
git clone -b kcc --single-branch https://github.com/kcc-community/kcc.git
cd kcc
make geth
Die Commandline Flags sind ähnlich wie beim originalen "go-ethereum", um alle verfügbaren Flags zu sehen nutze bitte ./build/bin/geth --help
.
Um zum Beispiel dem Testnet beizutreten nutze einfach ./build/bin/geth --testnet
.
Auch bieten wir ein Docker Image https://hub.docker.com/r/kucoincommunitychain/kcc um ein schnelles Deployment zu ermöglichen.
4 core cpu
8g memory
scalable SSD disk
public ip with TCP/UDP:30303 open
./build/bin/geth #Mainnet
./build/bin/geth --testnet #Testnet
useful options:
/data/kcc/geth \
--datadir /data/.kcc/testnet \ #your data dir
--testnet \ #Testnet
--http \ #http rpc
--ws \ #ws rpc
--http.vhosts * \ #vhosts
--rpccorsdomain * \ #http corsdomain
--http.addr 0.0.0.0 \ #http rpc bind address
--ws.addr 0.0.0.0 \ #ws rpc bind address
--syncmode full \ #syncmode
--gcmode archive #gcmode
Um den Node (geth
) im Hintergrund laufen zu lassen, kannst du nohup
,supervisor
,systemd
nutzen.
Um mit dem KCC Node (RPC oder Websocket) zu interagieren kannst du eine der folgenden SDKs nutzen.
- Js: web3.js Ethereum JavaScript API
- Java: web3j Web3 Java Ethereum Ðapp API
- PHP: web3.php A php interface for interacting with the Ethereum blockchain and ecosystem.
- Python: Web3.py A Python library for interacting with Ethereum, inspired by web3.js.
- Golang: go-ethereum
Die KCC nutzt den PoSA Konsensusalgorithmus welcher es ermöglicht niedrige Transaktiosgebühren, Transaktionswartezeiten sowie eine hohe Transaktionsparallelität zu ermöglichen und unterstützt damit bis zu maximal 29 Validatoren.
PoSA ist eine Kombination auf PoA und PoS. Um ein Validator zu werden musst du ein "proposal/Anfrage" dafür einreichen und dann warten bis aktive Validatoren über deine Anfrage abgestimmt haben. Nachdem mehr als die hälfte der aktiven Validatoren abgestimmt haben ist es dir erlaubt Validator zu werden. Jeglicher Adresse kann seine KCS einer anderen Addresse "staken" welche qualifiziert ist ein Validator zu werden. Nachdem das Staking Volumen des jeweiligen Nodes die Top 29 Staking Addressen erreicht wird ein aktiver Validator im nächsten Epoch solange er die Position in den Top 29 hält.
Alle aktiven Validatoren werden dazu angehalten anhand vordefinierter Regeln Blöcke zu "minen/berrechnen". Wenn ein Validator bei der berrechung eines Blocks dran ist, versagt, wird der Validator der nicht involviert war in den letzten "n/2" (n ist die Nummer of aktiven Validatoren) Blöcken wird zufallsbasiert einen "block-out" durchführen. Es müssen mindestens "n/2+1" aktive Validatoren sicher arbeiten um die Operationssicherheit der Blockchain zu gewährleisten.
Die schwierigkeit eines Block ist 2 wenn der Block automatisch generiert ist, und 1 wenn der Block nicht durch eine vordefinierte Order generiert worden ist. Wenn ein fork der Blockchain erscheint, wählt die Blockchain den zugehörigen Frok entsprechend der kumulierten maximalen Schwierigkeit.
KCC hat 3 integrierte System Contracts für den PoSA in der Geniss Datei.
Der Source Code dieser 3 Contracts sind von "Heco" gefroked und sind auf unserem Github Repository zu finden: https://github.com/kcc-community/kcc-genesis-contracts。
Die Verwaltung der aktuellen Validatoren obliegt den System Contracts.
- Verantwortlich für Zugriffsrechte auf Validatoren und verwaltung von Validator Anträgen sowie Votes/Stimmen.
- Verantwortlich für Rang Management von Validatoren swoie Staking und Unstaking Operationen und die verteilung der Block Rewards etc.
- Verantwortlich für Bestrafung aktiver Validatoren welche nicht zuverlässlich arbeiten.
Blockchain System Contract aufrufe:
- Am Ende jeden Blocks wird der Validator Contract aufgerufen und die errechneten Gebühren für alle Transaktionen innerhalb des Blocks werden auf alle aktiven Validatoren verteilt.
- Der Bestrafungs Contract wird dann aufgerufen wenn ein Validator nicht zuverlässlich arbeitet.
- Am Ende jeden Epochs wird der Validator Contract aufgerufen um die aktiven Validatoren liste anhand des Rankings zu updaten.
Du kannst die vote
Methode im validator
Contract aufrufen um für egal welchen Validator zu staken, das minimum das für einen Validator gestaked werden muss beträgt 1 KCS.
Wenn du dein KCS unstaken möchtest dann musst du die revoke
Methode im validator
Contract aufrufen und für mindestens 86400 Blöcke (4 Tage) warten um danach die Methode withdraw
im validator
Contract aufrufen zu können um deine KCS zu erhalten.
Wannimmer ein Validator gefunden wird der nicht zuverlässlich einen Block verarbeitet wie vorgeschrieben, wird der Bestrafungs Contract automatisch aufgerufen. Am Ende des jeweiligen Block wird dieser Aufruf gezählt, sollten die gezählten Aufrufe "24" erreichen so wird dem Validator sein gesammtes Einkommen entzogen, sollte die Anzahl auf 600 steigen wird der aktive Validator aus der Gruppe der aktiven Validatoren entfernt und ist als dieser disqualifiziert.
Jegliche Tipps, Anregungen und Diskussionen sind Willkommen.
Hinterlasse einen Tipp/Anmerkung oder Fehler/Problem
Wenn du ein Problem mit einem speziellen Projekt hast dann verschiebe dieses issue
in das jeweilige spezial Projekt.
KCC Verbesserungsvorschläge
KCC Verbesserungsvorschläge (KIPs) beschreiben den Standard für die KCC Plattform inkludiert Chain, Dex and dApps.
Der Idee hinter diesem Prozess ist es alle änderungen an der KCC so transparent und demokratisch wie möglich zu gestalten.
URL:https://github.com/kcc-community/KIPs
Nutze den Chrome Browser und öffne MetaMask extension site
Folge den Anweisungem um deine ETH Wallet zu erzeugen und Backuppe deinen Private Key und/oder deine Memonic
Konfiguriere MetaMask für das KCC Mainnet
(1) Öffne MetaMask. Im oberen Bereich siehst du das standard Netzwerk 【Ethereum mainnet】。
Klicke auf【Ethereum mainnet】danach klicke auf【custom RPC】im Dropdown Menü.
(2) Fülle die Felder in folgender reihenfolge aus um das KCC Mainnet hinzuzufügen: Network Name:KCC-MAINNET
New RPC URL:https://rpc-mainnet.kcc.network
Chain ID: 321
Currency Symbol (optional):KCS
Block Explorer URL (optional):https://explorer.kcc.io/en
Fertig