Skip to content

Commit a4c7994

Browse files
authored
Merge branch 'master' into cli-comments
2 parents 5af40b8 + 2429e0c commit a4c7994

File tree

11 files changed

+1308
-114
lines changed

11 files changed

+1308
-114
lines changed

README.md

Lines changed: 41 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -15,34 +15,34 @@ in project IS (note that regular Indy tickets are in the INDY project instead...
1515
us on [Hyperledger's Rocket.Chat](https://chat.hyperledger.org/) at #indy-sdk to discuss.
1616

1717

18-
## How to install
18+
## Installation
1919
### Release channels
2020
Indy SDK release process defines the following release channels:
21-
21+
2222
* `master` - development builds for each push to master branch.
2323
* `rc` - release candidates.
2424
* `stable` - stable releases.
2525

2626
Please refer to [release workflow](doc/release-workflow.md) for more details.
27-
### Install for Ubuntu based distro (Ubuntu 16.04)
27+
28+
### Ubuntu based distributions (Ubuntu 16.04)
2829
It is recommended to install packages with APT:
29-
30+
3031
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 68DB5E88
3132
sudo add-apt-repository "deb https://repo.sovrin.org/sdk/deb xenial {release channel}"
3233
sudo apt-get update
3334
sudo apt-get install -y libindy
3435

3536
{release channel} must be replaced with master, rc or stable to define corresponded release channel.
36-
See section "Release channels" for more details.
37-
38-
### Install for Windows
37+
See section "Release channels" for more details.
38+
39+
### Windows
3940

4041
1. follow to https://repo.sovrin.org/windows/libindy/{release-channel}.
4142
2. download last version of libindy.
4243
3. unzip archives to directory, where you want to save working library.
4344
4. After unzip you will get next structure of files:
4445

45-
4646
* `Your working directory`
4747
* `include`
4848
* `...`
@@ -52,64 +52,67 @@ See section "Release channels" for more details.
5252
* `libsodium.dll`
5353
* `libzmq.dll`
5454
* `ssleay32md.dll`
55-
55+
5656
`include` contains c-header files which contains all necessary declarations
57-
that may be need for your applications.
57+
that may be need for your applications.
5858

5959
`lib` contains all necessary binaries which contains libindy and all it's dependencies.
6060
`You must add to PATH environment variable path to lib`. It's necessary for dynamic linkage
61-
your application with libindy.
61+
your application with libindy.
6262

6363
{release channel} must be replaced with master, rc or stable to define corresponded release channel.
6464
See section "Release channels" for more details.
65-
### Install for iOS
6665

66+
### iOS
6767
See [wrapper iOS install documentation](wrappers/ios/README.md "How to install").
6868

69-
### Install for MacOS
70-
Now we haven't prebuild library in some shared place. You can build
71-
library yourself. Please refer to How-to-build section.
69+
### MacOS
70+
71+
Pre-built libraries are not provided for MacOS. Please look [here](doc/mac-build.md)
72+
for details on building from source for MacOS.
7273

73-
After build add to LD_LIBRARY_PATH and to DYLD_LIBRARY_PATH
74-
environment variables path to builded library. It's necessary
75-
for dynamic linkage your application with libindy. At first dynamic linker
76-
browse library in LD_LIBRARY_PATH, if library in your application doesn't include directory names.
77-
If library in your application include any directory name, then dynamic linker will search library
78-
in DYLD_LIBRARY_PATH(not LD_LIBRARY_PATH). So for reliability we recommend you set both this variables.
79-
80-
### Install for RHEL based distro (Amazon Linux 2017.03)
81-
Now we haven't prebuild library in some shared place. You can build
82-
library yourself. Please refer to How-to-build section.
74+
After building `libindy`, add the path containing the library the `LD_LIBRARY_PATH` and
75+
`DYLD_LIBRARY_PATH` environment variables. This is necessary for dynamically linking
76+
your application with `libindy`. The dynamic linker will first check for the library in
77+
`LD_LIBRARY_PATH` if the library in your application doesn't include directory names.
78+
If the library in your application does include any directory name, then dynamic
79+
linker will search for the library in `DYLD_LIBRARY_PATH` (not `LD_LIBRARY_PATH`)
80+
so we recommend you set both variables to be safe.
8381

84-
After build add to LD_LIBRARY_PATH environment variable path to builded library.
85-
It's necessary for dynamic linkage your application with libindy.
82+
### RHEL-based distributions (Amazon Linux 2017.03)
83+
Pre-built libraries are not provided for RHEL-based distributions. Please look [here](doc/rhel-build.md)
84+
for details on building from source for RHEL-based distributions.
85+
86+
After successfully compiling `libindy`, you will need to add the path containing `libindy.so` to the
87+
`LD_LIBRARY_PATH` environment variable. This is required for your application to link to
88+
`libindy`.
8689

8790
## How to build
8891

89-
* [Ubuntu based distro (Ubuntu 16.04)](doc/ubuntu-build.md)
90-
* [RHEL based distro (Amazon Linux 2017.03)](doc/rhel-build.md)
92+
* [Ubuntu based distributions (Ubuntu 16.04)](doc/ubuntu-build.md)
93+
* [RHEL based distributions (Amazon Linux 2017.03)](doc/rhel-build.md)
9194
* [Windows](doc/windows-build.md)
9295
* [MacOS](doc/mac-build.md)
9396

9497
## How to start local nodes pool with docker
9598

9699
Start local nodes pool on `127.0.0.1:9701-9708` with Docker:
97-
98-
```
100+
101+
```
99102
docker build -f ci/indy-pool.dockerfile -t indy_pool .
100103
docker run -itd -p 9701-9708:9701-9708 indy_pool
101-
```
102-
103-
Dockerfile `ci/indy-pool.dockerfile` supports optional pool_ip param that allows
104-
changing ip of pool nodes in generated pool configuration. The following commands
105-
allow to start local nodes pool in custom docker network and access this pool
104+
```
105+
106+
Dockerfile `ci/indy-pool.dockerfile` supports optional pool_ip param that allows
107+
changing ip of pool nodes in generated pool configuration. The following commands
108+
allow to start local nodes pool in custom docker network and access this pool
106109
by custom ip in docker network:
107-
110+
108111
```
109112
docker network create --subnet 10.0.0.0/8 indy_pool_network
110113
docker build --build-arg pool_ip=10.0.0.2 -f ci/indy-pool.dockerfile -t indy_pool .
111114
docker run -d --ip="10.0.0.2" --net=indy_pool_network indy_pool
112-
```
115+
```
113116
Note that for Windows and MacOS this approach has some issues. Docker for these OS run in
114117
their virtual environment. First command creates network for container and host can't
115118
get access to that network because container placed on virtual machine. You must appropriate set up
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
@startuml storage-interface
2+
3+
interface WalletStorage {
4+
+ {static} create(name, config, cred)
5+
+ {static} delete(name, config, cred)
6+
+ {static} open(name, config, r_config, cred) -> WalletStorage
7+
+ add_record(type, id, value, tags)
8+
+ update_record_value(type, id, value)
9+
+ update_record_tags(type, id, tags)
10+
+ add_record_tags(type, id, tags)
11+
+ delete_record_tags(type, id, tag_names)
12+
+ delete_record(type, id)
13+
+ get_record(type, id, options) -> Record
14+
+ search_records(type, query, options) -> Search
15+
+close()
16+
}
17+
18+
interface Search {
19+
+ get_total_count() -> u32
20+
+ get_count() -> u32
21+
+ next_wallet_entity() -> Record
22+
+ free()
23+
}
24+
Search --* WalletStorage
25+
26+
interface Record {
27+
+ get_id() -> str
28+
+ get_value() -> str
29+
+ get_tags() -> str
30+
+ free()
31+
}
32+
Record --* WalletStorage
33+
Record --* Search
34+
35+
@enduml
Lines changed: 48 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)