# Python implementation for terra.proto
This is a version of terra.proto which specifically supports Terra Classic.
It is intended to be a drop-in replacement for terra.proto - it will install itself as terra.proto.
This is required if you are using the Terra Classic SDK.
## Build instructions
### Requirements:
```bash
python -m pip install "betterproto[compiler]==2.0.0b6"
brew install protobuf
```
### Steps
Download the 50.x version of terra.proto. You can replace the branch name with whatever is relevant.
```bash
git clone -b v0.50.x-support https://github.com/geoffmunn/terra.proto.git
```
Alongside this, download the current version of terra/core from terra-money
```bash
git clone https://github.com/terra-money/core.git terra/
```
If ```terra/``` already exists, then delete it with this: ```git rm -r terra```
Move into the terra.proto directory and add the submodules
```bash
cd terra.proto
git submodule add https://github.com/classic-terra/core terra/
git submodule update --init
cd terra/
git checkout 680792d
```
> [!IMPORTANT]
> 680792d is the commit ID of the terra branch we want to use (not 'main'). Replace this with the version you are interested in.
Now copy from the terra-money terra location the following files into the terra.proto/terra/proto location:
```bash
cd ./proto
cp -r ../../../terra/proto/cosmos .
cp -r ../../../terra/proto/juno .
cp -r ../../../terra/proto/osmosis .
```
Move to the scripts location to start the build process
```bash
cd ../../python/scripts
rm -rf ../terra.proto (location may not exist, ok if it doesn’t)
sh proto-gen.sh
```
AFTER RUNNING THE PROTO BUILD SH FILE:
```bash
cp -r ./gamm-files/ ../terra_proto/osmosis/
```
**Finished!**
You can run the python module build steps from here.
Alternative options to this library can be found here:
- GoLang [Terra Core](https://github.com/terra-money/core) clients,
- JavaScript [@terra-money/terra.proto](https://www.npmjs.com/package/@terra-money/terra.proto/),
- Rust [terra-proto-rs](https://crates.io/crates/terra-proto-rs).
Raw data
{
"_id": null,
"home_page": "https://github.com/geoffmunn/terra.proto",
"name": "terra-classic-proto",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.10",
"maintainer_email": null,
"keywords": "blockchain, terra, terra classic, lunc, crypto, luna classic, osmosis, crypto sdk, blockchain sdk",
"author": "Geoff Munn",
"author_email": "geoff@zimoobo.com",
"download_url": "https://files.pythonhosted.org/packages/a6/68/447b9204a701c595eb277af942f73c60eed5e6001adcebc241ea9303b5e0/terra_classic_proto-4.0.1.tar.gz",
"platform": null,
"description": "# Python implementation for terra.proto\n\nThis is a version of terra.proto which specifically supports Terra Classic.\n\nIt is intended to be a drop-in replacement for terra.proto - it will install itself as terra.proto.\n\nThis is required if you are using the Terra Classic SDK.\n\n## Build instructions\n\n### Requirements:\n\n```bash\npython -m pip install \"betterproto[compiler]==2.0.0b6\"\nbrew install protobuf\n```\n\n### Steps\n\nDownload the 50.x version of terra.proto. You can replace the branch name with whatever is relevant.\n\n```bash\ngit clone -b v0.50.x-support https://github.com/geoffmunn/terra.proto.git\n```\nAlongside this, download the current version of terra/core from terra-money \n\n```bash\ngit clone https://github.com/terra-money/core.git terra/\n```\n\nIf ```terra/``` already exists, then delete it with this: ```git rm -r terra```\n\nMove into the terra.proto directory and add the submodules\n\n```bash\ncd terra.proto\ngit submodule add https://github.com/classic-terra/core terra/\ngit submodule update --init \ncd terra/\ngit checkout 680792d\n```\n\n> [!IMPORTANT]\n> 680792d is the commit ID of the terra branch we want to use (not 'main'). Replace this with the version you are interested in.\n\nNow copy from the terra-money terra location the following files into the terra.proto/terra/proto location:\n\n```bash\ncd ./proto\ncp -r ../../../terra/proto/cosmos .\ncp -r ../../../terra/proto/juno .\ncp -r ../../../terra/proto/osmosis .\n```\n\nMove to the scripts location to start the build process\n\n```bash\ncd ../../python/scripts\nrm -rf ../terra.proto (location may not exist, ok if it doesn\u2019t)\nsh proto-gen.sh\n```\n\nAFTER RUNNING THE PROTO BUILD SH FILE:\n\n```bash\ncp -r ./gamm-files/ ../terra_proto/osmosis/\n```\n\n**Finished!**\nYou can run the python module build steps from here.\n\nAlternative options to this library can be found here:\n- GoLang [Terra Core](https://github.com/terra-money/core) clients, \n- JavaScript [@terra-money/terra.proto](https://www.npmjs.com/package/@terra-money/terra.proto/),\n- Rust [terra-proto-rs](https://crates.io/crates/terra-proto-rs).\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "The Python Protobuf implementation for Terra Classic",
"version": "4.0.1",
"project_urls": {
"Homepage": "https://github.com/geoffmunn/terra.proto",
"Repository": "https://github.com/geoffmunn/terra.proto"
},
"split_keywords": [
"blockchain",
" terra",
" terra classic",
" lunc",
" crypto",
" luna classic",
" osmosis",
" crypto sdk",
" blockchain sdk"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "82cee545837577eb77272bfcdc6959733779512e26f62234ee26847246b8adc7",
"md5": "05512c2257ca150b3d0bde6716768f5f",
"sha256": "10e1e7aca161a19726672bf179d20fc0ea76a48cac5a533c0e4b5915dd87101d"
},
"downloads": -1,
"filename": "terra_classic_proto-4.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "05512c2257ca150b3d0bde6716768f5f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.10",
"size": 348067,
"upload_time": "2024-06-09T00:16:41",
"upload_time_iso_8601": "2024-06-09T00:16:41.695259Z",
"url": "https://files.pythonhosted.org/packages/82/ce/e545837577eb77272bfcdc6959733779512e26f62234ee26847246b8adc7/terra_classic_proto-4.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a668447b9204a701c595eb277af942f73c60eed5e6001adcebc241ea9303b5e0",
"md5": "0bef73c6e96ada6ff7fc21406db3bda7",
"sha256": "21965857b1e9067f4c2213c6be695c640e6d95b695dbf1c34e2e5b0fc3ab9388"
},
"downloads": -1,
"filename": "terra_classic_proto-4.0.1.tar.gz",
"has_sig": false,
"md5_digest": "0bef73c6e96ada6ff7fc21406db3bda7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.10",
"size": 237606,
"upload_time": "2024-06-09T00:16:43",
"upload_time_iso_8601": "2024-06-09T00:16:43.855576Z",
"url": "https://files.pythonhosted.org/packages/a6/68/447b9204a701c595eb277af942f73c60eed5e6001adcebc241ea9303b5e0/terra_classic_proto-4.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-09 00:16:43",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "geoffmunn",
"github_project": "terra.proto",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "terra-classic-proto"
}