|
| 1 | +# PLEASE READ: This repo no longer contains the SPL program implementations |
| 2 | + |
| 3 | +This repo still exists in archived form, feel free to fork any reference |
| 4 | +implementations it still contains. |
| 5 | + |
| 6 | +See Agave, the Solana validator implementation from Anza: https://github.com/anza-xyz/agave |
| 7 | + |
| 8 | +--- |
| 9 | + |
1 | 10 | <p align="center">
|
2 | 11 | <a href="https://solana.com">
|
3 | 12 | <img alt="Solana" src="https://i.imgur.com/IKyzQ6T.png" width="250" />
|
@@ -26,20 +35,24 @@ $ rustup update
|
26 | 35 | ```
|
27 | 36 |
|
28 | 37 | When building a specific release branch, you should check the rust version in `ci/rust-version.sh` and if necessary, install that version by running:
|
| 38 | + |
29 | 39 | ```bash
|
30 | 40 | $ rustup install VERSION
|
31 | 41 | ```
|
| 42 | + |
32 | 43 | Note that if this is not the latest rust version on your machine, cargo commands may require an [override](https://rust-lang.github.io/rustup/overrides.html) in order to use the correct version.
|
33 | 44 |
|
34 | 45 | On Linux systems you may need to install libssl-dev, pkg-config, zlib1g-dev, protobuf etc.
|
35 | 46 |
|
36 | 47 | On Ubuntu:
|
| 48 | + |
37 | 49 | ```bash
|
38 | 50 | $ sudo apt-get update
|
39 | 51 | $ sudo apt-get install libssl-dev libudev-dev pkg-config zlib1g-dev llvm clang cmake make libprotobuf-dev protobuf-compiler
|
40 | 52 | ```
|
41 | 53 |
|
42 | 54 | On Fedora:
|
| 55 | + |
43 | 56 | ```bash
|
44 | 57 | $ sudo dnf install openssl-devel systemd-devel pkg-config zlib-devel llvm clang cmake make protobuf-devel protobuf-compiler perl-core
|
45 | 58 | ```
|
@@ -71,8 +84,8 @@ Start your own testnet locally, instructions are in the [online docs](https://do
|
71 | 84 |
|
72 | 85 | ### Accessing the remote development cluster
|
73 | 86 |
|
74 |
| -* `devnet` - stable public cluster for development accessible via |
75 |
| -devnet.solana.com. Runs 24/7. Learn more about the [public clusters](https://docs.solanalabs.com/clusters) |
| 87 | +- `devnet` - stable public cluster for development accessible via |
| 88 | + devnet.solana.com. Runs 24/7. Learn more about the [public clusters](https://docs.solanalabs.com/clusters) |
76 | 89 |
|
77 | 90 | # Benchmarking
|
78 | 91 |
|
@@ -103,10 +116,10 @@ $ open target/cov/lcov-local/index.html
|
103 | 116 | ```
|
104 | 117 |
|
105 | 118 | Why coverage? While most see coverage as a code quality metric, we see it primarily as a developer
|
106 |
| -productivity metric. When a developer makes a change to the codebase, presumably it's a *solution* to |
107 |
| -some problem. Our unit-test suite is how we encode the set of *problems* the codebase solves. Running |
108 |
| -the test suite should indicate that your change didn't *infringe* on anyone else's solutions. Adding a |
109 |
| -test *protects* your solution from future changes. Say you don't understand why a line of code exists, |
| 119 | +productivity metric. When a developer makes a change to the codebase, presumably it's a _solution_ to |
| 120 | +some problem. Our unit-test suite is how we encode the set of _problems_ the codebase solves. Running |
| 121 | +the test suite should indicate that your change didn't _infringe_ on anyone else's solutions. Adding a |
| 122 | +test _protects_ your solution from future changes. Say you don't understand why a line of code exists, |
110 | 123 | try deleting it and running the unit-tests. The nearest test failure should tell you what problem
|
111 | 124 | was solved by that code. If no test fails, go ahead and submit a Pull Request that asks, "what
|
112 | 125 | problem is solved by this code?" On the other hand, if a test does fail and you can think of a
|
@@ -138,10 +151,10 @@ reader is or is working on behalf of a Specially Designated National
|
138 | 151 | (SDN) or a person subject to similar blocking or denied party
|
139 | 152 | prohibitions.
|
140 | 153 |
|
141 |
| -The reader should be aware that U.S. export control and sanctions laws prohibit |
142 |
| -U.S. persons (and other persons that are subject to such laws) from transacting |
143 |
| -with persons in certain countries and territories or that are on the SDN list. |
144 |
| -Accordingly, there is a risk to individuals that other persons using any of the |
145 |
| -code contained in this repo, or a derivation thereof, may be sanctioned persons |
146 |
| -and that transactions with such persons would be a violation of U.S. export |
| 154 | +The reader should be aware that U.S. export control and sanctions laws prohibit |
| 155 | +U.S. persons (and other persons that are subject to such laws) from transacting |
| 156 | +with persons in certain countries and territories or that are on the SDN list. |
| 157 | +Accordingly, there is a risk to individuals that other persons using any of the |
| 158 | +code contained in this repo, or a derivation thereof, may be sanctioned persons |
| 159 | +and that transactions with such persons would be a violation of U.S. export |
147 | 160 | controls and sanctions law.
|
0 commit comments