You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Apr 3, 2019. It is now read-only.
Polymath.js is the main library for interacting with Polymath's smart contracts on the client side. It is written in javascript using flow, babel and eslint. The documentation is automatically generated using documentationjs. Checkout the [docs](https://docs.polymath.network)
6
+
7
+
## Developement Testing on local machine with truffle and mocha
8
+
9
+
For testing polymathjs source code, clone this repo, then run the following commands. This will set up the environment to run tests on the polymath.js library functionality.
10
+
11
+
-`yarn prepack`to compile the javascript down to vanilla javascript
12
+
-`yarn testrpc` (keep this terminal running)
13
+
14
+
In a new terminal
15
+
-`yarn compile` to compile the contracts and create truffle artifacts
16
+
-`yarn migrate-testrpc` to migrate the contracts onto your testrpc
17
+
-`yarn start `(babel compiling) (keep this terminal running)
18
+
19
+
In a new terminal
20
+
-`yarn test` to test all files
21
+
-`yarn mocha lib/test/{FILENAME.js}` to test a single file
22
+
23
+
Note: If make changes to source files being compiled by babel, run `yarn clean` to remove the old compiled babel files, and then run `yarn start` to get an updated version with the new code.
24
+
25
+
## Updating the polymath core contracts into polymath.js
26
+
27
+
This should only be done when the npm module is ready to be upgraded to a new version of polymath core on the mainnet. The new contracts should be pulled into polymathjs repo, and then worked on in a branch. Once it is known that polymathjs is correctly working on new core contracts, the npm module can be published to reflect this.
28
+
29
+
The following occurs:
30
+
- Checks that polymath-core is on the master branch
31
+
- Executes git pull on the polymath-core
32
+
- Copies the polymath-core/contract directory into polymath-js directory
33
+
- Removes the polymath-js/build directory
34
+
35
+
In polymath-js
36
+
-`yarn contracts`
37
+
38
+
Note: Ensure you have the following file structure
39
+
```
40
+
- polymath (root dir name doesn't matter)
41
+
|-- polymath-js
42
+
|-- polymath-core
43
+
```
44
+
45
+
## Serving and building documentation
46
+
47
+
The documentation should be built when the npm module is updated. When you build the docs, the build folder will update, and this repo is connected to netlify which will automatically serve the new documentation to https://docs.polymath.network. So building should only be done when the npm package is ready to upgrade, so that they are in sync.
48
+
49
+
To serve the docs locally, run:
50
+
51
+
-`yarn install`
52
+
-`yarn start` to run babel to compile the source code and have it watching for updates (leave this terminal open)
53
+
-`yarn serve-poly-docs`
54
+
55
+
To build the docs run `yarn build-poly-docs`. Make sure when you make edits, you rebuild the docs so they are added in!
56
+
57
+
## Contributing
58
+
59
+
We're always looking for developers to join the polymath network. To do so we
60
+
encourage developers to contribute by creating Security Token Offering contracts
61
+
(STO) which can be used by issuers to raise funds. If your contract is used, you
62
+
can earn POLY fees directly through the contract, and additional bonuses through
63
+
the Polymath reserve fund.
64
+
65
+
If you would like to apply directly to our STO contract development team, please
Copy file name to clipboardExpand all lines: README.md
+34-33Lines changed: 34 additions & 33 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,54 +6,53 @@
6
6
7
7
# Polymath.js
8
8
9
-
Polymath.js is the main library for interacting with Polymath's smart contracts. It is written in javascript using flow, babel and eslint. The documentation is automatically generated using documentationjs. Checkout the [docs](https://docs.polymath.network)
9
+
Polymath.js is the main library for interacting with Polymath's smart contracts on the client side. It is written in javascript using flow, babel and eslint. The documentation is automatically generated using documentationjs. Checkout the [docs](https://docs.polymath.network)
10
10
11
11
[Read the whitepaper](whitepaper.pdf)
12
12
13
-
## Testing locally
14
13
15
-
Clone the repo, then run
16
-
-`yarn install`
17
-
-`yarn testrpc` (keep this terminal running)
14
+
## How to Use the Polymath.js Library
18
15
19
-
In a new terminal
20
-
-`yarn compile`
21
-
-`yarn migrate-testrpc`
22
-
-`yarn start `(babel compiling) (keep this terminal running)
16
+
The best way to use Polymath.js is to download the [polymathjs npm module](https://www.npmjs.com/package/polymathjs). Go into your project and run `npm install polymathjs`. Once you do that, you can check out the docs at https://docs.polymath.network to see decriptions of every single function call in the library.
17
+
18
+
There is an example client side app located at https://github.com/PolymathNetwork/example-app-polymathjs. It is built with create-react-app, and shows how you would wire up your project in order to use the library to make calls to the ropsten testnet and mainnet polymath core contracts. (Please note, polymathjs will work on the client side only).
19
+
20
+
The polymath.js library will automatically figure out which network you are on in the browser when you are connected through metamask. If you select mainnet or ropsten, it will connect to the correct contracts, just make sure you have ether to be able to test the function calls.
21
+
22
+
Currently polymathjs is connected to the v1 launched instances of the polymath core contracts for both ropsten and mainnet. Please see the contract addresses below:
23
23
24
-
In a new terminal
25
-
-`yarn test` to test all files
26
-
-`yarn mocha lib/test/{FILENAME.js}` to test a single file
27
24
28
-
Note: If make changes to source files being compiled by babel, run `yarn clean` to remove the old compiled babel files, and then run `yarn start` to get an updated version with the new code.
-`yarn start` to run babel to compile the source code and have it watching for updates (leave this terminal open)
54
-
-`yarn serve-poly-docs`
46
+
If you want to use testrpc for faster testing with the polymath contracts, you will have to clone this github repo in order to properly migrate the contracts to your testrpc. Once you clone this repo, you can run the following steps to get the contracts migrated to the testrpc:
55
47
56
-
To build the docs run `yarn build-poly-docs`. Make sure when you make edits, you rebuild the docs so they are added in!
48
+
-`yarn install` to install the npm modules
49
+
-`yarn testrpc` (keep this terminal running. This command is a custom npm script to set up an easier dev environment, see the package.json for more details on the ganache cli custom npm script)
50
+
51
+
In a new terminal
52
+
-`yarn compile` to compile the contracts and create truffle artifacts (ensure the testrpc stuff will still work)
53
+
-`yarn migrate-testrpc` to migrate the contracts onto your testrpc
54
+
55
+
Then you can use metamask to connected to localhost:8545. You will have to import the private keys from the testrpc into metamask. if you use `yarn testrpc` to start testrpc, then it will use the same 10 private keys everytime, which will be located in the terminal. They will be pre loaded with testrpc ether.
57
56
58
57
## Contributing
59
58
@@ -66,6 +65,8 @@ the Polymath reserve fund.
66
65
If you would like to apply directly to our STO contract development team, please
0 commit comments