Skip to content

Commit

Permalink
Implement Algorand.
Browse files Browse the repository at this point in the history
tb exsb zljb x ilkd txv
  • Loading branch information
Team Algorand committed Jun 11, 2019
0 parents commit a9c2895
Show file tree
Hide file tree
Showing 2,792 changed files with 1,077,017 additions and 0 deletions.
44 changes: 44 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
*.log
*.log.archive
*.out
*.prof
coverage.html

# cadaver
*.cdv
*.cdv.archive

# swagger
swagger.json
kmdSwaggerWrappers.go
bundledSpecInject.go

# Exclude GoLand files
.idea/

# Exclude go binaries built in-place
cmd/algod/algod
cmd/goal/goal
cmd/updater/updater

# Exclude our local temp directory
tmp/

# Exclude certain build artifacts
gen/devnet/
gen/testnet/
gen/mainnet/

# Exclude makefiles autogenerated in libsodium-fork build
crypto/libsodium-fork/Makefile.in
crypto/libsodium-fork/**/Makefile.in
crypto/libsodium-fork/aclocal.m4
crypto/libsodium-fork/build-aux/

# Ignore vim backup and swap files
*~
*.swp
*.swo

# Mac
.DS_Store
90 changes: 90 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
dist: xenial
go:
- "1.12"
go_import_path: github.com/algorand/go-algorand
language: go
sudo: required

# Don't build tags
if: tag IS blank

stages:
- name: build_commit
if: NOT (branch =~ /^rel\//) AND type != pull_request
- name: build_pr
if: type = pull_request
- name: build_release
if: branch =~ /^rel\// AND type != pull_request
- name: deploy
if: branch =~ /^rel\// AND type != pull_request
- name: release
if: branch =~ /^rel\// AND type != pull_request

jobs:
include:
- stage: build_commit
os: linux
script:
- scripts/travis/build.sh || travis_terminate 1;
- travis_wait 90 scripts/travis/test.sh

- stage: build_pr
os: linux
script:
- scripts/travis/build.sh || travis_terminate 1;
- travis_wait 90 scripts/travis/test.sh
# - # same stage, parallel job
# os: linux
# env:
# - BUILD_TYPE: "integration"
# script:
# - scripts/travis/build.sh || travis_terminate 1;
# - travis_wait 90 scripts/travis/test.sh

- stage: build_release
os: linux
script:
- scripts/travis/build.sh || travis_terminate 1;
- travis_wait 90 scripts/travis/test.sh
# - # same stage, parallel job
# os: linux
# env:
# - BUILD_TYPE: "integration"
# script:
# - scripts/travis/build.sh || travis_terminate 1;
# - travis_wait 90 scripts/travis/test.sh
- # same stage, parallel job
os: osx
script:
- scripts/travis/build.sh || travis_terminate 1;
- travis_wait 90 scripts/travis/test.sh

- stage: deploy
os: linux
script: scripts/travis/deploy_packages.sh
- # same stage, parallel job
os: osx
script: scripts/travis/deploy_packages.sh

- stage: release
script: scripts/travis/release_packages.sh

# Don't rebuild libsodium every time
cache:
directories:
- crypto/lib

addons:
apt:
packages:
- libboost-all-dev
- fakeroot
- rpm
artifacts:
s3_region: "us-east-1"
paths:
- $(git ls-files -o | grep -v crypto/libsodium-fork | grep -v crypto/lib/ | tr "\n" ":")

notifications:
slack:
secure: lBomhenfQvDzpUGxLadga188zavtGRr05GVWI6iI8ll/uwXewij8ginQ716Axg3pJvvRMNCuTNEmg0+fVlHf0JxTG3qWG35qOUexAHGcmimPD4ugmVkufua8Oc8Nl1LRSdWvbwIKvrAU1HDA37M5tCdEOm+Sf/OL72iVWbXhlHRvhdeiKHkbkcpI/15dOH4RpXuvPeYBrgcB2Ixs7gTSVyIAU458aT0JORu7expElQ+iBP9Kqze1V4dvjJyzHTgE01z2nyAm2Xpko447y//fYX2e20iDBE5S/GukaK/TeB3pD+FoC+Z2R7Gg1qA7a/gdGFbVgP12zWmzNaKVwY1YOvx8IIwP13XutioAE7bQbnHI1zGlQ+jxk3odWKZPhZSN/YvWD3i7g/xVksaTo++zwon2UlZ7x8LmKg1kOMeA3o2TUlzjQrwZZ4cB+4HqYHEqVdsSAadaMhKK82XE1OtGImdrIX1Y/02X2F/myJXwaE4Ap8smULHWGghCL/ALad+hdyE0K4/2SYDcoaOONgX9+VgaSEtYDO00Bt4/GMcuM+gwILsfCA9ZQuxCgIFEL1QWwDud8aGU1qF20yaimDlstlLnZXsv3Oli6r/CEEUVXltI5dkJyRd/jTlqWGjFGL8agGg34EPLP24Vn4h4QcIzoMfGWXkz2yrd6i0fvMAPXds=
36 changes: 36 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Algorand Developer Contribution Guide

If you are interested in contributing to the project, we welcome and thank you. We want to make the best decentralized and effective blockchain platform available and we appreciate your willingness to help us.

The algorand project is composed of several repositories on GitHub. Specifically we have repositories for the main node software,the JavaScript SDK, the Go SDK, and the Java SDK. Additionally we have repositories for projects we forked like go-codec that make up some of the main dependencies for a node. Each of these will follow similar guidelines on how to contribute. The main difference between these concerns code formatting and deploying changes to production.

# Filing Issues

Did you discover a bug? Do you have a feature request? Filing issues is an easy way anyone can contribute and helps us improve Algorand. We use GitHub Issues to track all known bugs and feature requests.

Before logging an issue be sure to check current issues, verify that your [node is synced](https://developer.algorand.org/docs/introduction-installing-node#sync-node), check the [Developer Frequently Asked Questions](https://developer.algorand.org/docs/developer-faq) and [GitHub issues][issues_url] to see if your issue is described there.

If you’d like to contribute to any of the repositories, please file a [GitHub issue][issues_url] using the issues menu item. Make sure to specify whether you are describing a bug or a new enhancement using the **Bug report** or **Feature request** button.

See the GitHub help guide for more information on [filing an issue](https://help.github.com/en/articles/creating-an-issue)

# Contribution Model

For each of our repositories we use the same model for contributing code. Developers wanting to contribute must create pull requests. This process is described in the GitHub [Creating a pull request from a fork](https://help.github.com/en/articles/creating-a-pull-request-from-a-fork) documentation. Each pull request should be initiated against the master branch in the Algorand repository. After a pull request is submitted the core development team will review the submission and communicate with the developer using the comments sections of the PR. After the submission is reviewed and approved, it will be merged into the master branch of the source. These changes will be merged to our release branch on the next viable release date. For the SDKs, this may be immediate. Changes to the node software may take more time as we must ensure and verify the security, as well as apply protocol upgrades in an orderly way.

# Code Guidelines

For Go code we use the [Golang guidelines defined here](https://golang.org/doc/effective_go.html)
* Code must adhere to the official Go formatting guidelines (i.e. uses gofmt).
* We use **gofmt** and **golint**. Also make sure to run `make fix` and `make generate` before opening a pull request.
* Code must be documented adhering to the official Go commentary guidelines.

For JavaScript code we use the [MDN formatting rules](https://developer.mozilla.org/en-US/docs/MDN/Contribute/Guidelines/Code_guidelines/JavaScript).

For Java code we use [Oracle’s standard formatting rules for Java](https://www.oracle.com/technetwork/java/codeconventions-150003.pdf).

# Communication Channels

The core development team monitors the Algorand community forums and regularly responds to questions and suggestions. Issues and Pull Requests are handled on GitHub.

[issues_url]: https://github.com/algorand/go-algorand/issues
Loading

0 comments on commit a9c2895

Please sign in to comment.