{"id":13779953,"url":"https://github.com/philippgille/libra-sdk-go","last_synced_at":"2025-10-13T13:10:21.673Z","repository":{"id":91058649,"uuid":"193282123","full_name":"philippgille/libra-sdk-go","owner":"philippgille","description":"Go SDK for the Libra cryptocurrency","archived":false,"fork":false,"pushed_at":"2023-02-25T03:34:59.000Z","size":116,"stargazers_count":21,"open_issues_count":5,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-25T17:43:02.513Z","etag":null,"topics":["cryptocurrency","go","golang","grpc","libra","package","rpc","sdk"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/philippgille.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2019-06-22T21:48:58.000Z","updated_at":"2022-11-28T08:39:53.000Z","dependencies_parsed_at":"2024-01-15T05:10:10.432Z","dependency_job_id":"2820e8fa-d79a-48b4-bc29-b0f0658302e3","html_url":"https://github.com/philippgille/libra-sdk-go","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/philippgille/libra-sdk-go","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philippgille%2Flibra-sdk-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philippgille%2Flibra-sdk-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philippgille%2Flibra-sdk-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philippgille%2Flibra-sdk-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/philippgille","download_url":"https://codeload.github.com/philippgille/libra-sdk-go/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philippgille%2Flibra-sdk-go/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279015283,"owners_count":26085683,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cryptocurrency","go","golang","grpc","libra","package","rpc","sdk"],"created_at":"2024-08-03T18:01:10.890Z","updated_at":"2025-10-13T13:10:21.657Z","avatar_url":"https://github.com/philippgille.png","language":"Go","funding_links":[],"categories":["Testnet","Go"],"sub_categories":["Libraries"],"readme":"libra-sdk-go\n============\n\n[![GoDoc](https://godoc.org/github.com/philippgille/libra-sdk-go?status.svg)](https://godoc.org/github.com/philippgille/libra-sdk-go) [![Build Status](https://travis-ci.org/philippgille/libra-sdk-go.svg?branch=master)](https://travis-ci.org/philippgille/libra-sdk-go) [![Go Report Card](https://goreportcard.com/badge/github.com/philippgille/libra-sdk-go)](https://goreportcard.com/report/github.com/philippgille/libra-sdk-go)\n\nGo SDK for the Libra cryptocurrency\n\n\u003e Note: This is work in progress! The API is not stable and will definitely change in the future!  \n\u003e This package uses proper semantic versioning though, so you can use vendoring or Go modules to prevent breaking your build.  \n\u003e The changelog of this package can be viewed [here](CHANGELOG.md)\n\nFeatures\n--------\n\n- Get account state with account resource (balance, auth key, sent and received events count, sequence no)\n- Send transaction (raw bytes)\n\n### Roadmap\n\n- Instead of the current `Transaction` struct that only takes `RawBytes`, 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.\n- 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\n- And much more...\n\nUsage\n-----\n\nExample:\n\n```go\npackage main\n\nimport (\n    \"fmt\"\n    \"time\"\n\n    libra \"github.com/philippgille/libra-sdk-go\"\n)\n\nfunc main() {\n    c, err := libra.NewClient(\"ac.testnet.libra.org:8000\", time.Second)\n    if err != nil {\n        panic(err)\n    }\n    defer c.Close()\n\n    acc := \"8cd377191fe0ef113455c8e8d769f0c0147d5bb618bf195c0af31a05fbfd0969\"\n    accState, err := c.GetAccountState(acc)\n    if err != nil {\n        panic(err)\n    }\n\n    fmt.Printf(\"Raw account state: 0x%x\\n\", accState.Blob)\n    fmt.Println()\n    fmt.Printf(\"Account resource: %v\\n\", accState.AccountResource)\n}\n```\n\nCurrently prints:\n\n```\nRaw account state: 0x010000002100000001217da6c6b3e19f1825cfb2676daecce3bf3de03cf26647c78df00b371b25cc9744000000200000008cd377191fe0ef113455c8e8d769f0c0147d5bb618bf195c0af31a05fbfd0969a0acb90300000000010000000000000004000000000000000400000000000000\n\nAccount resource: {\"authentication_key\": \"0x8cd377191fe0ef113455c8e8d769f0c0147d5bb618bf195c0af31a05fbfd0969\", \"balance\": \"62500000\", \"received_events_count\": \"1\", \"sent_events_count\": \"4\", \"sequence_number\": \"4\"}\n```\n\nDevelop\n-------\n\nThe proto files are taken from the [Libra repository](https://github.com/libra/libra), commit `4e27604264bd0a5d6c64427f738cbc84d9258a61`.\n\nFor 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`\n\nRelated projects\n----------------\n\n- Libra SDK for Node.js: https://github.com/perfectmak/libra-core\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphilippgille%2Flibra-sdk-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphilippgille%2Flibra-sdk-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphilippgille%2Flibra-sdk-go/lists"}