Giter Club home page Giter Club logo

docs's Introduction

description cover coverY
Juno - Interoperable Smart Contract Network
.gitbook/assets/Discord Invite (29).png
255

Intro

Juno is a global, open source, permission-less network for decentralized interoperable applications.

Anyone can create & use inter-chain applications on Juno. The ecosystem is pioneering CosmWasm development and adoption, allowing developers to deploy secure & robust inter-chain smart contracts in Rust. The Juno proof of stake blockchain is built using the Cosmos SDK and reaches network agreement via Tendermint Consensus. The network is governed by delegators, who vote in changes via on-chain governance. All network processes are fueled by $JUNO the native asset of the network. Juno had its decentralized network launch on the 1st of October 2021. CosmWasm Smart Contracts went live on December 15th 2021.

Grassroots Origin

Juno originates & evolves from a community driven initiative, prompted by dozens of developers, validators & delegators in the Cosmos ecosystem. The shared vision is to preserve the neutrality, performance & reliability of the Cosmos Hub and offload smart contract deployment to a dedicated sister Hub.

Some of the founding principles centre around:

⚪️ Inception of the worlds first permission-less, designated interoperable smart contract network.

⚪️ Pioneering CosmWasm development and adoption.

⚪️ Eliminating common smart contract L1 bottlenecks (poor scalability, non-interoperability, high fees, concentrated governance control).

⚪️ Sister Hub to the Cosmos Hub - Preserving the neutrality of the Hub by offloading smart contract usage/congestion to a designated contract zone.

⚪️ Governance by ATOM stakers which become JUNO stakers. Stakedrop where 47% of the genesis supply goes to ATOM stakers on a 1:1 basis.

⚪️ Eliminating potential legal limitations (Juno has not/will not conduct any form of seed sale, private sale or public sale. All $JUNO entered circulation via the decentralized network launch on October 1st 2021)



docs's People

Contributors

0xekez avatar ap-justin avatar bgodlin avatar blockcreators avatar communitystaking avatar dimiandre avatar dylanschultzie avatar elsehow avatar ericjohncarlson avatar git-sgmoore avatar gitbook-bot avatar highlander-maker avatar husonghua avatar kleomedes avatar manueldalb2 avatar maxjuno avatar mikedotexe avatar mturkia avatar nullmames avatar onivalidator avatar reecepbcups avatar shaynerarma avatar stkerr avatar thalpius avatar the-frey avatar toschdev avatar voelker85 avatar webmaster128 avatar wolfcontract avatar zakarialounes avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

docs's Issues

TODO: Docs additions & questions to answer

MOVED TO A WORKING GROUP HERE https://discord.gg/yabbPU64gA

python

python interaction with juno chain (mospy, skip / white whale bots have some good work)
https://github.com/ctrl-Felix/mospy & https://github.com/skip-mev/skipper/blob/main/src/transaction.py

Queries / getting data

  • query etc of a contract state (including past state with rest? and can do with RPC/CosmJS?)
  • Link to https://interchainacademy.cosmos.network/tutorials/6-cosmjs/2-first-steps.html
  • subscribe to Tendermint
# python example from my CosmosCache repo. Then these links show GOLang
You can subscribe to a query via the RPC websocket
https://rpc.cosmos.bh.rocks/subscribe?query=_
https://docs.tendermint.com/v0.34/rpc/
https://docs.tendermint.com/v0.34/tendermint-core/subscription.html
  • show mintscan.io of seeing contract data / information. (Include screenshots)

Misc

How keyring-backend works with CLI (test, os) many have issues with this
How to get all votes from a proposal? (Link cosmoscontracts repo but embed code directly)
How does gas work?

Explain gas = amount of compuate
Most networks in cosmos charge 0.0025ujuno per gas
So if you use 1,000,000 gas, it cost 0.0025*1000000 = 2500ujuno
Some validators may only allow a higher rate to ensure no spam transaction get though, so you may want to set the gas price to be more like 0.003 or 0.004 to be safe

Authz - grant voting example

# https://github.com/cosmos/cosmos-sdk/blob/main/proto/cosmos/gov/v1beta1/tx.proto
junod tx authz grant <new_address> generic --msg-type=/cosmos.gov.v1beta1.MsgVote --from validator
junod tx authz exec <(junod tx vote withdraw-rewards <valoper> -y --from <validator_bech32_address> --generate-only) --from grantedWallet -y
junod tx authz exec <(junod tx gov vote 202 yes -y --from juno1t8ehvswxjfn3ejzkjtntcyrqwvmvuknzy3ajxy --generate-only)> --from juno1 -y

tokenfactory

I want to make a faucet for my token for people to get, how can I faucet funds?
https://github.com/Reecepbcups/cosmos-faucet/tree/main

internal

  • steps for a release ( tag, discord, proposal, height requierments, timelines, etc -- may make sense to do in the main repo instead)

relaying

hermes

note

How to enable REST API & Make the RPC public (0.0.0.0 instead of localhost) + sed replace commands


NFTs (CW721)

Example marketplace? I have one from craft, simple example

(These are from BlockCreators, in the future we may decide to upstream to the cosmwasm book repo)
How do you submit an svg for a nft? (Check how CW20 base package does it in cw-plus)
Proxy contract: How can you have a contract call another contract to mint and send an nft?
How can you have an limited mint of nft that lets users buy until it reaches 0
How do I create a nft via an api call in my application?
How do I query all the nfts that an address holds?
how can you query the metadata of an nft that a user has? (get specific NFT information)
how to burn an NFT
how to mint an NFT on some function call of a contract (ex: after a burn, like a 1:1 redeem)
How can you have an unlimited mint of nft that lets users buy forever (mint the same NFT to any user who interacts with it)
how can you display an svg nft by getting it from an address from application?
How do I send an nft to a contract via an api call in my application?
How to save a map to storage? (BTreeMap)


Contracts

  • How do I store a list in a contract and each unique address can add a name to it by calling a function, and can override their own one.
  • How can I query this list in the contract and get the stored name by supplying the unique address.
  • how do I check if a change has been made on a contract? must I do a call every time period?
  • how do I check if a change has been made on a list within a contract? must I do a call every time period?

Update smart contract uploading docs

The docs suggest that running junod tx wasm store ... will give some JSON output from which the code ID of the contract can be extracted. Walking through the commands in those docs though the output looks like yaml:

gas estimate: 1836558
code: 0
codespace: ""
data: ""
gas_used: "0"
gas_wanted: "0"
height: "0"
info: ""
logs: []
raw_log: '[]'
timestamp: ""
tx: null
txhash: 1405DEEA2C3947526B265FDD199578A7377143FAB397C034A953E1866B06FEF6

I can then get the code ID by running junod query tx <txhash> and looking at the raw_log field.

Is this the expected way to go about this now? If it is I can open a PR to update the docs.

My junod config:

$ junod version                                                        
v2.0.0-alpha.1
$ junod config 
{
	"chain-id": "",
	"keyring-backend": "os",
	"output": "text",
	"node": "https://rpc.uni.junomint.com:443/",
	"broadcast-mode": "sync"
}

Remove ibc-go page.

No instructions have been added here. Suggest we remove if it is not a good relayer solution. Hermes seems to have become the defacto relayer.

Update "Joining Mainnet"

Needs to include information for:
a) syncing from genesis to current block.
b) syncing from snapshot.

Statesync still not viable for public without wasm folder solution.

duplicate instruction in `setting-up-cosmovisor` docs

First, find the location of the binary you want to use:

which junod

Then use the path returned to copy it to the directory Cosmovisor expects. Let's assume the previous command returned /home/your-user/go/bin/junod:

cp $HOME/go/bin/junod $DAEMON_HOME/cosmovisor/genesis/bin
cp $HOME/go/bin/junod $DAEMON_HOME/cosmovisor/genesis/bin

The above data is obtained from docs/validators/setting-up-cosmovisor.md there we can see the cp junod instruction is duplicated.

upgrade the default page

We need to improve the default page either:

  • with a nice description of juno and a couple of links to groups to get started, or
  • keep the way it is and update all the page links.

It seems like keeping it in this format will make it difficult to maintain.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.