{"id":27772519,"url":"https://github.com/TheThingsNetwork/ttn","last_synced_at":"2025-04-30T00:01:37.273Z","repository":{"id":45432844,"uuid":"47138513","full_name":"TheThingsArchive/ttn","owner":"TheThingsArchive","description":"The Things Network Stack V2","archived":true,"fork":false,"pushed_at":"2021-11-29T13:26:25.000Z","size":7408,"stargazers_count":464,"open_issues_count":0,"forks_count":273,"subscribers_count":75,"default_branch":"develop","last_synced_at":"2025-04-28T11:36:03.320Z","etag":null,"topics":["golang","internet-of-things","iot","lora","lora-server","lorawan","lorawan-server","network-server","open-source"],"latest_commit_sha":null,"homepage":"https://www.thethingsnetwork.org","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TheThingsArchive.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-11-30T18:41:33.000Z","updated_at":"2025-02-20T14:36:25.000Z","dependencies_parsed_at":"2022-08-19T07:51:44.447Z","dependency_job_id":null,"html_url":"https://github.com/TheThingsArchive/ttn","commit_stats":null,"previous_names":["thethingsnetwork/ttn","thethingsnetwork/core"],"tags_count":32,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheThingsArchive%2Fttn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheThingsArchive%2Fttn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheThingsArchive%2Fttn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheThingsArchive%2Fttn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TheThingsArchive","download_url":"https://codeload.github.com/TheThingsArchive/ttn/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251602810,"owners_count":21615963,"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","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":["golang","internet-of-things","iot","lora","lora-server","lorawan","lorawan-server","network-server","open-source"],"created_at":"2025-04-30T00:00:55.990Z","updated_at":"2025-04-30T00:01:37.203Z","avatar_url":"https://github.com/TheThingsArchive.png","language":"Go","readme":"# The Things Network Stack\n\n[![Build Status](https://travis-ci.org/TheThingsNetwork/ttn.svg?branch=master)](https://travis-ci.org/TheThingsNetwork/ttn) [![Coverage Status](https://coveralls.io/repos/github/TheThingsNetwork/ttn/badge.svg?branch=master)](https://coveralls.io/github/TheThingsNetwork/ttn?branch=master) [![GoDoc](https://godoc.org/github.com/TheThingsNetwork/ttn?status.svg)](https://godoc.org/github.com/TheThingsNetwork/ttn)\n\n![The Things Network](https://thethings.blob.core.windows.net/ttn/logo.svg)\n\nThe Things Network is a global open crowdsourced Internet of Things data network.\n\n## Getting Started With The Things Network\n\nWhen you get started with The Things Network, you'll probably have some questions. Here are some things you can do to find the answer to them:\n\n- Check out our [website](https://www.thethingsnetwork.org/)\n- Read the [official documentation](https://www.thethingsnetwork.org/docs/)\n- Register on the [forum](https://www.thethingsnetwork.org/forum/) and search around\n- Join [Slack](https://slack.thethingsnetwork.org) and ask us what you want to know\n\n## Installing and Running The Things Network Stack\n\nAlthough we're all about building an open, public network, we understand that some people rather have everything privately on their own servers. On our website, you'll find some articles describing how you can [set up a private routing environment](https://www.thethingsnetwork.org/article/setting-up-a-private-routing-environment) and how you can [deploy this environment using Docker](https://www.thethingsnetwork.org/article/deploying-a-private-routing-environment-with-docker-compose).\n\n## Development\n\nFirst, you'll have to prepare your development environment. Follow the steps below to set up your development machine.\n\n1. Make sure you have [Go](https://golang.org) installed (version 1.11 or later).\n2. Set up your [Go environment](https://golang.org/doc/code.html#GOPATH)\n3. Install the [protobuf compiler (`protoc`)](https://github.com/google/protobuf/releases)\n4. Install `make`. On Linux install `build-essential`. On macOS, `make` comes with XCode or the developer tools. On Windows you can get `make` from [https://gnuarmeclipse.github.io/windows-build-tools/](https://gnuarmeclipse.github.io/windows-build-tools/)\n5. Make sure you have [Redis](http://redis.io/download) and [RabbitMQ](https://www.rabbitmq.com/download.html) **installed** and **running**.  \n  On a fresh installation you might need to install the [MQTT plugin for RabbitMQ](https://www.rabbitmq.com/mqtt.html).  \n  If you're on Linux, you probably know how to do that. On a Mac, just run `brew bundle`. The Windows installer will setup and start RabbitMQ as a service. Use the `RabbitMQ Command Prompt (sbin dir)` to run commands, i.e. to enable plugins.\n6. Declare a RabbitMQ exchange `ttn.handler` of type `topic`. Using [the management plugin](http://www.rabbitmq.com/management.html), declare the exchange in the web interface `http://server-name:15672` or using the management cli, run `rabbitmqadmin declare exchange name=ttn.handler type=topic auto_delete=false durable=true`. If your handler's user has sufficient permissions on RabbitMQ, it will attempt to create the exchange if not present.\n\nNext, you can clone this repository and set up the TTN part:\n\n1. Fork this repository\n2. Clone your fork: `git clone --branch develop https://github.com/YOURUSERNAME/ttn.git $GOPATH/src/github.com/TheThingsNetwork/ttn`\n3. `cd $GOPATH/src/github.com/TheThingsNetwork/ttn`\n4. Install the dependencies for development: `make dev-deps`\n5. Run the tests: `make test`\n6. Run `make build` to build both `ttn` and `ttnctl` from source. \n7. Run `make dev` to install the go binaries into `$GOPATH/bin/`\n    * Optionally on Linux or Mac you can use `make link` to link them to `$GOPATH/bin/` (In order to run the commands, you should have `export PATH=\"$GOPATH/bin:$PATH\"` in your profile).\n8. Configure your `ttnctl` with the settings in `.env/ttnctl.yml.dev-example` by copying that file to `~/.ttnctl.yml`.\n9. Trust the CA certificate of your local discovery server by copying `.env/discovery/server.cert` to `~/.ttnctl/ca.cert`.\n\nYou can check your `ttnctl` configuration by running `ttnctl config`. It should look like this:\n\n```\n  INFO Using config:\n\n         config file: /home/your-user/.ttnctl.yml\n            data dir: /home/your-user/.ttnctl\n\n         auth-server: https://account.thethingsnetwork.org\n   discovery-address: localhost:1900\n           router-id: dev\n          handler-id: dev\n        mqtt-address: localhost:1883\n```\n\n**NOTE:** From now on you should run all commands from the `$GOPATH/src/github.com/TheThingsNetwork/ttn` directory.\n\n## License\n\nSource code for The Things Network is released under the MIT License, which can be found in the [LICENSE](LICENSE) file. A list of authors can be found in the [AUTHORS](AUTHORS) file.\n","funding_links":[],"categories":["Connectivity","Libraries","Hardware Com"],"sub_categories":["LoRa / LoRaWAN","Others"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTheThingsNetwork%2Fttn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FTheThingsNetwork%2Fttn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTheThingsNetwork%2Fttn/lists"}