philippgille / Libra Sdk Go
Licence: mpl-2.0
Go SDK for the Libra cryptocurrency
Stars: ✭ 23
Projects that are alternatives of or similar to Libra Sdk Go
Rpc Thunderdome
A comparison between Proteus RPC and other commonly used RPC frameworks
Stars: ✭ 22 (-4.35%)
Mutual labels: grpc, rpc
Javaspringbootsamples
SpringBoot、Dubbo、SpringCloud的各种集成例子:Atomikos、gRPC、Thrift、Seata、ShardingSphere、Dubbo、Hmily、Nacos、Consul、Ribbon、Jedis、Lettuce、Redisson等框架
Stars: ✭ 399 (+1634.78%)
Mutual labels: grpc, rpc
Joyrpc
high-performance, high-extensibility Java rpc framework.
Stars: ✭ 290 (+1160.87%)
Mutual labels: grpc, rpc
Js Stellar Sdk
Main Stellar client library for the Javascript language
Stars: ✭ 488 (+2021.74%)
Mutual labels: cryptocurrency, sdk
Gb28181.solution
Linux/Win/Docker/kubernetes/Chart/Kustomize/GB28181/SIP/RTP/SDP/WebRTC/作为上下级域/平台级联互联
Stars: ✭ 323 (+1304.35%)
Mutual labels: grpc, rpc
Dynamixelsdk
ROBOTIS Dynamixel SDK (Protocol1.0/2.0)
Stars: ✭ 266 (+1056.52%)
Mutual labels: sdk, package
Alibaba Rsocket Broker
Alibaba RSocket Broker: Mesh, Streaming & IoT
Stars: ✭ 485 (+2008.7%)
Mutual labels: grpc, rpc
Rpc Benchmark
java rpc benchmark, 灵感源自 https://www.techempower.com/benchmarks/
Stars: ✭ 463 (+1913.04%)
Mutual labels: grpc, rpc
Armeria
Your go-to microservice framework for any situation, from the creator of Netty et al. You can build any type of microservice leveraging your favorite technologies, including gRPC, Thrift, Kotlin, Retrofit, Reactive Streams, Spring Boot and Dropwizard.
Stars: ✭ 3,392 (+14647.83%)
Mutual labels: grpc, rpc
Brpc Java
Java implementation for Baidu RPC, multi-protocol & high performance RPC.
Stars: ✭ 647 (+2713.04%)
Mutual labels: grpc, rpc
Flatbuffers
FlatBuffers: Memory Efficient Serialization Library
Stars: ✭ 17,180 (+74595.65%)
Mutual labels: grpc, rpc
Tonic
A native gRPC client & server implementation with async/await support.
Stars: ✭ 4,422 (+19126.09%)
Mutual labels: grpc, rpc
Go Api Boilerplate
Go Server/API boilerplate using best practices DDD CQRS ES gRPC
Stars: ✭ 373 (+1521.74%)
Mutual labels: grpc, rpc
thinkgo
Public libraries and components for glang development.
Stars: ✭ 14 (-39.13%)
Mutual labels: grpc, rpc
tsrpc
A TypeScript RPC framework, with runtime type checking and serialization, support both HTTP and WebSocket. It is very suitable for website / APP / games, and absolutely comfortable to full-stack TypeScript developers.
Stars: ✭ 866 (+3665.22%)
Mutual labels: grpc, rpc
Rpcx
Best microservices framework in Go, like alibaba Dubbo, but with more features, Scale easily. Try it. Test it. If you feel it's better, use it! 𝐉𝐚𝐯𝐚有𝐝𝐮𝐛𝐛𝐨, 𝐆𝐨𝐥𝐚𝐧𝐠有𝐫𝐩𝐜𝐱!
Stars: ✭ 6,516 (+28230.43%)
Mutual labels: grpc, rpc
libra-sdk-go
Go SDK for the Libra cryptocurrency
Note: This is work in progress! The API is not stable and will definitely change in the future!
This package uses proper semantic versioning though, so you can use vendoring or Go modules to prevent breaking your build.
The changelog of this package can be viewed here
Features
- Get account state with account resource (balance, auth key, sent and received events count, sequence no)
- Send transaction (raw bytes)
Roadmap
- Instead of the current
Transaction
struct that only takesRawBytes
, a higher level transaction struct will be added with fields for the sender and receiver address as well as amount of Libra Coins to send. - A wallet package will be added that can read a recovery file or take a recovery seed string and create accounts with their public/private keypairs from that
- And much more...
Usage
Example:
package main
import (
"fmt"
"time"
libra "github.com/philippgille/libra-sdk-go"
)
func main() {
c, err := libra.NewClient("ac.testnet.libra.org:8000", time.Second)
if err != nil {
panic(err)
}
defer c.Close()
acc := "8cd377191fe0ef113455c8e8d769f0c0147d5bb618bf195c0af31a05fbfd0969"
accState, err := c.GetAccountState(acc)
if err != nil {
panic(err)
}
fmt.Printf("Raw account state: 0x%x\n", accState.Blob)
fmt.Println()
fmt.Printf("Account resource: %v\n", accState.AccountResource)
}
Currently prints:
Raw account state: 0x010000002100000001217da6c6b3e19f1825cfb2676daecce3bf3de03cf26647c78df00b371b25cc9744000000200000008cd377191fe0ef113455c8e8d769f0c0147d5bb618bf195c0af31a05fbfd0969a0acb90300000000010000000000000004000000000000000400000000000000
Account resource: {"authentication_key": "0x8cd377191fe0ef113455c8e8d769f0c0147d5bb618bf195c0af31a05fbfd0969", "balance": "62500000", "received_events_count": "1", "sent_events_count": "4", "sequence_number": "4"}
Develop
The proto files are taken from the Libra repository, commit 4e27604264bd0a5d6c64427f738cbc84d9258a61
.
For updating the rpc
package you currently need to manually update the proto files, make some changes (e.g. go_package
option) and then run the Go code generation script: scripts/generate_rpc.sh
Related projects
- Libra SDK for Node.js: https://github.com/perfectmak/libra-core
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].