All Projects → eoscanada → Eos Go

eoscanada / Eos Go

Licence: mit
EOS.IO Go API library

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Eos Go

Tiny.scatter
Scatter compatible eos injection library
Stars: ✭ 31 (-94.16%)
Mutual labels:  blockchain, eos, eosio
Eosc
Cross-platform EOSIO command-line swiss-army-knife (EOS, BOS, Telos, Worbli, etc.)
Stars: ✭ 128 (-75.89%)
Mutual labels:  blockchain, eos, eosio
Awesome Blockchain
⚡️Curated list of resources for the development and applications of blockchain.
Stars: ✭ 937 (+76.46%)
Mutual labels:  blockchain, eos, eosio
Cryptokylin Testnet
EOS.io Kylin Testnet by cryptokylin.io
Stars: ✭ 140 (-73.63%)
Mutual labels:  blockchain, eos, eosio
Eostracker
🗄EOS Tracker: Real time block explorer for EOS Blockchain
Stars: ✭ 166 (-68.74%)
Mutual labels:  blockchain, eos, eosio
Monstereos
A Tamagotchi and Battle Game for EOS Blockchain :)
Stars: ✭ 174 (-67.23%)
Mutual labels:  blockchain, eos, eosio
Scatter
Scatter is an in-browser ( extension ) wallet for EOS which facilitates interaction between users and dapps.
Stars: ✭ 59 (-88.89%)
Mutual labels:  blockchain, eos, eosio
Advanced Eos Examples
EOS Smart Contract Development Examples
Stars: ✭ 146 (-72.5%)
Mutual labels:  blockchain, eos, eosio
Awesome Eos
A curated list of EOS Ecosystem by SuperONE.
Stars: ✭ 160 (-69.87%)
Mutual labels:  blockchain, eos, eosio
Eos Bios
DEPRECATED: use `eosc boot` now. Historically: Orchestrator for a decentralized EOS.IO blockchain network boot
Stars: ✭ 173 (-67.42%)
Mutual labels:  blockchain, eos, eosio
Awesome Eos
A curated list of awesome EOS frameworks, libraries, software and resources.
Stars: ✭ 181 (-65.91%)
Mutual labels:  blockchain, eos, eosio
eosreach-android
An EOS wallet developed in Kotlin using the eos-jvm SDK and the model view intent (MVI) design pattern. This wallet serves as a blueprint for how other developers might want to utilise eos-jvm to develop native Android apps that consume the EOS blockchain.
Stars: ✭ 37 (-93.03%)
Mutual labels:  eos, eosio
Scatter-Demos
A set of integration demos using eosjs and Scatter
Stars: ✭ 80 (-84.93%)
Mutual labels:  eos, eosio
EOSWallet
🔐EOS Wallet: Manage your EOS accounts with steroids :)
Stars: ✭ 36 (-93.22%)
Mutual labels:  eos, eosio
twitbot
🦉Just a simple twitter bot for tipping in EOS
Stars: ✭ 18 (-96.61%)
Mutual labels:  eos, eosio
eosportal-api
🗳EOSPortal Community Voting
Stars: ✭ 16 (-96.99%)
Mutual labels:  eos, eosio
EOSBank
EOS Bank (CPU rent contract)
Stars: ✭ 45 (-91.53%)
Mutual labels:  eos, eosio
django-scatter-auth
Django Scatter Auth for EOS blockchain
Stars: ✭ 16 (-96.99%)
Mutual labels:  eos, eosio
every-eos
Decentralized exchange based on eos.io
Stars: ✭ 20 (-96.23%)
Mutual labels:  eos, eosio
anchor-link
Persistent, fast and secure signature provider for EOSIO chains built on top of EOSIO Signing Requests (EEP-7)
Stars: ✭ 29 (-94.54%)
Mutual labels:  eos, eosio

EOS.IO API library for Go

点击查看中文版

GoDoc

This library provides simple access to data structures (binary packing and JSON interface) and API calls to an EOS.IO RPC server, running remotely or locally. It provides wallet functionalities (KeyBag), or can sign transaction through the keosd wallet. It also knows about the P2P protocol on port 9876.

As of before the June launch, this library is pretty much in flux. Don't expect stability, as we're moving alongside the main eosio codebase, which changes very fast.

This library is the basis for the eos-bios launch orchestrator tool at https://github.com/eoscanada/eos-bios

Basic usage

api := eos.New("http://testnet1.eos.io")

infoResp, _ := api.GetInfo(ctx)
accountResp, _ := api.GetAccount(ctx, "initn")
fmt.Println("Permission for initn:", accountResp.Permissions[0].RequiredAuth.Keys)

eosio.system and eosio.token contract Actions are respectively in:

Binaries

There is some binaries in main packages under cmd/, mainly around P2P communication.

Example

Reference

Running

The easiest way to see the actual output for a given example is to add a line // Output: any at the very end of the test, looks like this for ExampleAPI_GetInfo file (examples_api_get_info.go):

    if err != nil {
        panic(fmt.Errorf("json marshal response: %w", err))
    }

    fmt.Println(string(bytes))
    // Output: any
}

This tells go test that it can execute this test correctly. Then, simply run only this example:

go test -run ExampleAPI_GetInfo

Replacing ExampleAPI_GetInfo with the actual example name you want to try out where line // Output: any was added.

This will run the example and compares the standard output with the any which will fail. But it's ok an expected, so you can see the actual output printed to your terminal.

Note Some examples will not succeed out of the box because it requires some configuration. A good example being the transfer operation which requires having the authorizations and balance necessary to perform the transaction. It's quite possible to run them through a development environment however.

Environment Variables

All examples uses by default the https://mainnet.eos.dfuse.io API endpoint for all HTTP communication and peering.mainnet.eoscanada.com for P2P communication. They can respectively be overridden by specifying environment variable EOS_GO_API_URL and EOS_GO_P2P_ENDPOINT respectively.

Contributing

Any contributions are welcome, use your standard GitHub-fu to pitch in and improve.

License

MIT

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