All Projects → datachainlab → hypermint

datachainlab / hypermint

Licence: other
Tendermint-based blockchain that supports WebAssembly smart contract

Programming Languages

go
31211 projects - #10 most used programming language
rust
11053 projects
Makefile
30231 projects
Smarty
1635 projects

Projects that are alternatives of or similar to hypermint

ethereum-crowdsale
0xcert protocol crowdsale contracts for Ethereum blockchain.
Stars: ✭ 15 (-72.73%)
Mutual labels:  smart-contracts
Credits
Credits(CRDS) - An Evolving Currency For An Evolving Society
Stars: ✭ 14 (-74.55%)
Mutual labels:  smart-contracts
py-etherdelta
Python client for interacting with the EtherDelta API and Smart Contracts.
Stars: ✭ 22 (-60%)
Mutual labels:  smart-contracts
eth-decoder
Simple library to decode ethereum transaction and logs
Stars: ✭ 32 (-41.82%)
Mutual labels:  smart-contracts
fnd-docs
Foundation developer docs
Stars: ✭ 33 (-40%)
Mutual labels:  smart-contracts
dipdup-py
Modular framework for creating selective indexers and featureful backends for dapps
Stars: ✭ 49 (-10.91%)
Mutual labels:  smart-contracts
ostracon
Ostracon, a consensus algorithm, is forked from Tendermint Core. We have added VRF to Tendermint BFT. It adds randomness to PoS Validator elections and improves security.
Stars: ✭ 60 (+9.09%)
Mutual labels:  tendermint
AirdropCentral
An AirdropCentral where anyone can submit tokens to be distributed among users
Stars: ✭ 62 (+12.73%)
Mutual labels:  smart-contracts
protocol
Livepeer protocol
Stars: ✭ 136 (+147.27%)
Mutual labels:  smart-contracts
alpha-interface
✨ Token Exchange App for Arweave Profit Sharing Tokens
Stars: ✭ 34 (-38.18%)
Mutual labels:  smart-contracts
ctf-eth-env
Moved to https://github.com/chainflag/eth-challenge-base/tree/main/geth
Stars: ✭ 30 (-45.45%)
Mutual labels:  smart-contracts
pallet-contracts-waterfall
Collection of simple Substrate smart contract examples written in Rust, AssemblyScript, Solang and the smart contract language ink! to test substrates pallet-contracts module
Stars: ✭ 28 (-49.09%)
Mutual labels:  smart-contracts
eth option
ERC20-compatible Option Contracts
Stars: ✭ 22 (-60%)
Mutual labels:  smart-contracts
awesome-smart-contracts
Awesome Ethereum Projects List
Stars: ✭ 35 (-36.36%)
Mutual labels:  smart-contracts
clarity-lsp
Language Server Protocol implementation for Clarity (including VS code extension).
Stars: ✭ 47 (-14.55%)
Mutual labels:  smart-contracts
solidstate-solidity
💠 Upgradeable-first Solidity smart contract development library 💠
Stars: ✭ 264 (+380%)
Mutual labels:  smart-contracts
trufflepig
🍄🐷Truffle contract artifact loading tool for local development
Stars: ✭ 45 (-18.18%)
Mutual labels:  smart-contracts
archethic-node
Official Archethic Blockchain node, written in Elixir
Stars: ✭ 42 (-23.64%)
Mutual labels:  smart-contracts
awesome-ethereum-events
Inspired by the awesome list of awesome lists of awesome lists of...
Stars: ✭ 18 (-67.27%)
Mutual labels:  smart-contracts
substrate-contracts-node
Minimal Substrate node configured for smart contracts via pallet-contracts.
Stars: ✭ 70 (+27.27%)
Mutual labels:  smart-contracts

hypermint

CircleCI

hypermint is a Tendermint-based blockchain that support WebAssembly smart contract.

Features

Build

$ make build

If you use Golang 1.12 or 1.11, export GO111MODULE=on for modules.

Getting started

Run a validator node

First, you need to initialize genesis state.

# these outputs will be different per execution
$ make init
{
  "chain_id": "test-chain-6AHEow",
  "node_id": "67b4f60a2b371a908848af2d35e7816b55610115",
  "app_message": "success"
}
export ADDR1=0x1221a0726d56aEdeA9dBe2522DdAE3Dd8ED0f36c
export ADDR2=0xD8eba1f372b9e0D378259F150d52C2e6C2e4109a

Next, run a blockchain node:

$ make start

If you want to deploy hypermint node on k8s, see here.

Smart contract

hypermint supports wasm based smart contract.

Contract example project is here.

If you don't have cargo and wasm-gc, you should install these.

To deploy simple token project, exec below commands:

# '0x1221a0726d56aEdeA9dBe2522DdAE3Dd8ED0f36c' should be replace with the value which was got by `make init`
$ export ADDR1=0x1221a0726d56aEdeA9dBe2522DdAE3Dd8ED0f36c

# To exec deploy cmd, cargo with wasm32 and wasm-gc
$ make -C ./example/token deploy
cargo build --target=wasm32-unknown-unknown
   Compiling hmc v0.1.0 (/Users/jun/go/src/github.com/bluele/hypermint/hmc)
   Compiling token v0.1.0 (/Users/jun/go/src/github.com/bluele/hypermint/example/token)
    Finished dev [unoptimized + debuginfo] target(s) in 2.08s
wasm-gc ./target/wasm32-unknown-unknown/debug/token.wasm -o ./token.min.wasm
contract address is 0xceD4629963CCc0549094e962a01f454EBFD80Cbd

Now you got the first contract address! Next, try to check your balance.

$ ./build/hmcli contract call --address=$ADDR1 --contract=0xceD4629963CCc0549094e962a01f454EBFD80Cbd --func="get_balance" --type=int --password=password --simulate --gas=1
10000

Contract development

We develop an emulation library to ease contract development and testing. https://github.com/bluele/hmemu

Please check this out.

Maintainers

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].