All Projects → nguyenphuminh → JeChain

nguyenphuminh / JeChain

Licence: GPL-3.0 license
Node for JeChain - an experimental smart contract blockchain network

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to JeChain

blockchain-consensus
This is my attempt to list all possible blockchain consensus out there, i welcome pull request of the blockchain community! lets make it the main reference for blockchain consensus
Stars: ✭ 79 (-55.37%)
Mutual labels:  smart-contracts, blockchain-technology, proof-of-work
syscoin
Syscoin is a crypto currency that is universally merge-mineable and offers a unique variety of services including decentralized identities, asset token issuance platform capabilities directly on the blockchain and trustless 0-counterparty interoptibility with the Ethereum blockchain
Stars: ✭ 152 (-14.12%)
Mutual labels:  smart-contracts, blockchain-technology
ultimate-defi-research-base
Here we collect and discuss the best DeFI & Blockchain researches and tools. Feel free to DM me on Twitter or open pool request.
Stars: ✭ 1,074 (+506.78%)
Mutual labels:  smart-contracts, blockchain-technology
blockchain
재미로 시작한 p2p 블록체인 개발
Stars: ✭ 17 (-90.4%)
Mutual labels:  blockchain-technology, p2p-network
React Ethereum Dapp Example
A starter boilerplate for an Ethereum dapp using web3.js v1.0, truffle, react, and parity
Stars: ✭ 384 (+116.95%)
Mutual labels:  smart-contracts, blockchain-technology
Mortgageblockchainfabric
Mortgage Processing App using Hyperledger Fabric Blockchain. Uses channels for privacy and access, and restricts read/write previleges through endorsement policies
Stars: ✭ 45 (-74.58%)
Mutual labels:  smart-contracts, blockchain-technology
Coco
The fastest crypto online
Stars: ✭ 103 (-41.81%)
Mutual labels:  smart-contracts, blockchain-technology
Blockchain-Alpha
Alpha from various sectors in the blockchain space.
Stars: ✭ 102 (-42.37%)
Mutual labels:  smart-contracts, blockchain-technology
Simple-Game-ERC-721-Token-Template
🔮 Very Simple ERC-721 Smart Contract Template to create your own ERC-721 Tokens on the Ethereum Blockchain, with many customizable Options 🔮
Stars: ✭ 83 (-53.11%)
Mutual labels:  smart-contracts, blockchain-technology
DeFiDefender
基于分布式身份的微贷联合风控平台
Stars: ✭ 25 (-85.88%)
Mutual labels:  blockchain-technology
hashseq
A simple proof of work, mainly designed to mitigate DDoS attacks.
Stars: ✭ 20 (-88.7%)
Mutual labels:  proof-of-work
erc20-balance
💎 Get 2000+ ERC-20 token balances with JavaScript. Supports Node.js and Deno
Stars: ✭ 18 (-89.83%)
Mutual labels:  smart-contracts
Meadow
Integrated Ethereum implementation and tool suite focused on Solidity testing and development.
Stars: ✭ 126 (-28.81%)
Mutual labels:  smart-contracts
UpSideDai
⬆️ Take a HIGHLY leveraged position on the future price of DAI 📈.
Stars: ✭ 26 (-85.31%)
Mutual labels:  smart-contracts
erc721
The reference implementation of the ERC-721 non-fungible token standard.
Stars: ✭ 989 (+458.76%)
Mutual labels:  smart-contracts
obyte-hub
Hub for Obyte network
Stars: ✭ 17 (-90.4%)
Mutual labels:  p2p-network
web3scala
Scala library for integration with Ethereum clients
Stars: ✭ 24 (-86.44%)
Mutual labels:  smart-contracts
leafleth
📑 Documentation generator for Solidity
Stars: ✭ 24 (-86.44%)
Mutual labels:  smart-contracts
birdchain-mvp
Decentralized application (Dapp) similar to instant messenger. The BIG difference is that it will allow its users to make a monthly passive income, while providing companies with higher quality and better-priced services.
Stars: ✭ 25 (-85.88%)
Mutual labels:  blockchain-technology
typescript-eth-starter
🔌 Ethereum Dapp Basic Typescript Starter
Stars: ✭ 125 (-29.38%)
Mutual labels:  smart-contracts


An experimental smart contract blockchain network

What is JeChain?

JeChain is a blockchain network platform that supports smart contracts and can act as a payment system/cryptocurrency. It is originally and still is made for experimental and educational purposes, you can have a brief look at its core ideas through its unfinished whitepaper.

Setup a node

Dependencies

  • NodeJS v16 or higher.
  • Latest release of npm.

Requirements

A system that is running Windows, Linux, or MacOS with a dual-core CPU and 8GB of RAM with a mediocre SSD/HDD should be enough.

Installation

First, download the latest release from: https://github.com/nguyenphuminh/JeChain/releases.

Extract the zip file, in the JeChain folder, open up your terminal and install the required packages through npm:

npm install

Generate your keys

If you haven't had a JeChain key pair before, hop over to ./utils/, on the command line, type:

node keygen.js

And it will generate an address, a public key and a private key for you.

Configure your node

In config.json, change the props for your needs:

{
    "PORT": /*PORT that your node will run on, default is 3000*/,
    "RPC_PORT": /*PORT that the RPC server will run on, default is 5000*/,
    "PEERS": /*An array containing peers' address that the node will connect with, default is an empty array*/, 
    "MY_ADDRESS": /*A string containing the node's address, default is "localhost:3000"*/,
    "PRIVATE_KEY": /*A string containing a private key*/,
    "ENABLE_MINING": /*Leave true if you want to mine, default is false*/
    "ENABLE_LOGGING": /*Leave true if you want to log out contract logs, default is false*/,
    "ENABLE_RPC": /*Leave true if you want to run a RPC server, default is false*/,
    "ENABLE_CHAIN_REQUEST": /*Leave true if you want to sync chain from others, default is false*/
}

To see an example, config.json already has some data set for you to have a look at.

Running the node

After everything is all set, simply type node . to run the node.

Interacting with the node through JSON-RPC apis

This process will need you to run an RPC server, basically leave true in ENABLE_RPC in config.json to enable it.

To properly interact with the node, you should use the JSON-RPC apis, especially if you are creating dapps. To get started, check out docs for JSON-RPC APIs here.

Note: This feature is still in its early stages, things might change when a stable release is ready.

Run JeChain node publicly

Just do some port-forwarding, drop your public IP + the port you forwarded in and you are set!

If you don't know how to forward port, just search it up online, each router model should have its own way to do port-forwarding.

Smart contracts?

Smart contract is still a fairly new feature in JeChain. It is only a proof of concept currently and is likely going to change in the future, but for now, you can read this document on creating smart contracts using a small language I have created called jelscript.

Remember to only use it for experimental purposes, I can not guarantee that this feature will be changed or not in the future. The language is also really limited and far from ready.

Economy

Note that this is an experimental project which is still under development, and an agreed JeChain network hasn't been formed yet, so this section is mainly just for fun.

Units

Unit Jem
Jem 1
KJem 1,000
MJem 1,000,000
GJem 1,000,000,000
MicroJelly 1,000,000,000,000
MilliJelly 1,000,000,000,000,000
Jelly 1,000,000,000,000,000,000

Tokenomic

  • 100000000 Jelly is minted originally.
  • Current mining reward is 0.202297 Jelly.
  • Minimum transation fee is 1000000000000 Jem.
  • Minimum contract execution fee is 10000000 Jem.

Todos

To see a full list of todos for JeChain, visit: https://github.com/nguyenphuminh/JeChain/projects/3

Support the project!

I have been maintaining the project in my free time, if you like JeChain and want to support, you can just leave a star and feel free to open issues and pull requests!

Thanks a lot!

Using the project's source code

JeChain is 100% open-source, but if you are integrating its source code into your own project, it would be lovely if you credit the original JeChain, I would really appreciate it!

Copyrights and License

Copyrights © 2021 Nguyen Phu Minh.

This project is licensed under the GPL 3.0 License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].