-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathMakefile
More file actions
114 lines (95 loc) · 15 KB
/
Makefile
File metadata and controls
114 lines (95 loc) · 15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
APP_STATE_ORIGINAL=\"app_hash\": \"\"
# to create new one, just use some escape generator + remember to explicitly include newlines
# for reference, this tool worked for me: https://www.freeformatter.com/javascript-escape.html
define APP_STATE_REPLACEMENT=
\"app_hash\":\"\",\r\n \"app_state\":{ \r\n \"systemProperties\":{ \r\n \"watcherThreshold\":2,\r\n \"pipeAccount\":\"0xd6A548f60FB6F98fB29e6226DE1405c20DbbCF52\",\r\n \"coconutProperties\":{ \r\n \"q\":5,\r\n \"threshold\":3\r\n }\r\n },\r\n \"accounts\":[ \r\n { \r\n \"address\":\"0x382527A35984E3DC79E239294cdA10138C161686\",\r\n \"balance\":1000000\r\n },\r\n { \r\n \"address\":\"0xE0085f37D2227f2ab2F8a49307aA7EEd0fafBc19\",\r\n \"balance\":42\r\n }\r\n ],\r\n \"issuingAuthorities\":[ \r\n { \r\n \"vk\":\"AAAAAAAAAAEKwAECSqKy8I8KkSYIBSctxRBRxuR61PpAOwK0UQtkeuPRdwusAyaoBbvv1IBWyMEhvbgT4CtgUnGfYH2s06CIJ09lWWvQ0Jkgthq12mG73H9QSTNM8RITlF1X5ax9BV0EK34M5dUncn1uEYzJzcbaLjUarf2bqoy906dtQpppUWDRLJI6ycw7rKKJ4ZNUhgi4KAEGBsSgLqc0zDKs0rArwouZyz4ofoWnY68mdJKrVy6Zqz83DSdc7B2hqqkHX\/Bfeb4SwAEFuhRpy4HfcuxwcRI9sIWMo\/LVmbk19g1gfMRlBrmZqoEQL6rDApVLZ9eMp+5IQK8WLlZpWf4Zjy7kZolARAyp\/rHUQkH4PrDjgoPrKbm6qK\/iejYpL7qx28Q3VeInMpwMIMaSbbW9y36sEVtGc2I0Iu5vS0sp8ESiVlQ5NaBz72deZ8oKJJ4IEPPHP99+b0UQX80fVIrNM88mMzKy0bHri9NFlmIG+e0G1cqmw\/ry3XWGQkcr1M5RuNa6oX50w5QawAEVxd5FP5bE8bS4x54Csof11sQWUTwMp6Q7\/3H7ZCTSlKSqujlOhmfqSHfGPO2sDIYPHDhDzjakZpKAZWWhn\/hiR6DfPpomQ01ZYUhVKKSMxz7\/VPjsQplP0bZXA2gfnkADUN8UQ0N9g\/usIw73r4aZsOviMsRM8oByvsjVfUWc4\/HTLSdnQyImFkHz9CiCmrIYL2dYQRePRatWggvBAyeRzntxI4jDqLKiBdi54ZlAKgV6MCRaJ7Bu7BtmLXrtK4sawAED3QYxuvOSZrbZdUr4yG+U9yVvJ9Klkf+5Mo4EYp3qTL2KBB6\/LrZepjAQqp486YkZ03mTIezcsZ48EboXVTWKBZ3QnTI5tX+j4gGxQb7klOJc97qJkDxsvpz4F0ChgCUIZhpIItWHia7\/R3Gi+b5siLIdQdUho9isn3kiDGm6t0NED2Bgy3ZxxQwzqsBZm4kPr2\/fPX4YyvIoP9895YcGjZyE5iiRC\/TE41RJmB1GZYdxegTMq3lNDllKgiqaiPgawAEJASDkmZHTwlg9YOev5OWpQD+FnhPkqVNo\/QcDyRu9eoGcWSGFp2sYqjG2SpmiXq0VNnAO7AcKxRzDFu7TjfhlU3Kt0uTKIcrWVU1zFNbJNMjYEq90pp50nowwx8INz20IXET2ZNX6kIXYFCsEvPLZFlG2OoL6xg3uQS1qMl3lIS\/VxdO\/JfVe0rT65WsJ\/P4Nkc1jYiuNPHY6d\/iFO0BVYqX0sOCX73GC\/TT13BR0jnPwDAVw0rGtYHsXBb8TKOsawAEZIClauuT1V3qOZnb7uRZhFXO+PKTxgc1LCzJt2ChOrMZaBpjlkf3IPpJ2UF4JH4kGaDeBf2k\/S+FLAs3drK21efbi5P6\/a4QTxAiiRimXGoQIyvOg462s6kP\/ZRFufo8YYQHS4olaOeqU4564dNskg\/uBPsFMz\/2GNOhmn\/15cJqP1jfkyD49Z16GTS5YLHgVl9bJKqyvLuypsToLbt1BJzipEP0L2OohuRm+\/MvqvwwWKyjNQsubgee1K728d9AawAEBkGggcNVCtXyhoSqi3\/w0tVxtkAYeud8sBeAtZHGs06me\/QL8co0MFLlO+zdkUb4ZBq08rFEbgLOma8\/3whleM8NIPaHNISp1q3IsIhB5zdXcZoGsqLixODBFHtID3YEHAlr4f9T\/yh11yJ95xGCl\/6Y37hpwLQVGyrfSfccM24mVFqnV3TT5Wdq3ile+jesUx1Q2G1yK\/xVqc6itmk+kDuBjyZgzYi1+jsIXAjnhM9G7t8J\/Bv5yGGZhLK2dCzM=\",\r\n \"pub_key\":\"\"\r\n },\r\n { \r\n \"vk\":\"AAAAAAAAAAIKwAECSqKy8I8KkSYIBSctxRBRxuR61PpAOwK0UQtkeuPRdwusAyaoBbvv1IBWyMEhvbgT4CtgUnGfYH2s06CIJ09lWWvQ0Jkgthq12mG73H9QSTNM8RITlF1X5ax9BV0EK34M5dUncn1uEYzJzcbaLjUarf2bqoy906dtQpppUWDRLJI6ycw7rKKJ4ZNUhgi4KAEGBsSgLqc0zDKs0rArwouZyz4ofoWnY68mdJKrVy6Zqz83DSdc7B2hqqkHX\/Bfeb4SwAEOVCUN3EwiVroS5+TOq2o7hYSxphK9X0G23N+IBZ0Tr1Rl8XEiJ+OEy0rqnAKwmhAZJWnx3u8oXqbZtOWIZmzQSpcoxhgwfhdmTZJCqT2RVzZyeFItX4sVeilEP3z2xdsJs8+a1kg6UZnx1s1BNLBo7eZrreZygWojPCIDBn03fSAflXoVc5PpY2CGy5MA\/IgWgSYBHDdoZEtigp\/amjqK7Us44Db20XpLxMXfbahiqa7WKNnMgi6Ca2H67VtaaD8awAEF3zbE1nZRAa7a8vbU25c80YBYJBaW8P6FwXQI+K0Xk5MakwYeMMnIrm6w6IS\/0XAO5YlD453GLqnxY8H1BEnRpfOnT7PE4el9mJ8MuYQMo6R2up0lGCmYM0YA9FORjroM3ng69SEPfJPCReG7LfJkERl\/m2U403ertDRBYrlqCDagDfyI500srBcMrjSvV3oNouyyx3yZUrjLQfbHhDteQFsYdmakJs8Y+Q9+5MXCcrz6Qa4xwv522Euv0CCxkHcawAEYjfsU\/zDhUZA1ey1aquWXlFOnx+iEALqxW1slDYHwQ1M2SILc+v\/E6i1doa5e\/bAZHVezBHFAlaNAVedNyHFFJxYAqAK3hbzbvl2glw3Q6h\/rTXElymloqtaqVFIJ+oUWWOHsZBmu8EDA+HzvGCiBa\/GbRaVfh2lE4ObeMXoJrEm\/5dbxxeEic2l3IYeIz40N9ooQQOkQcOZdY4AXWYCavIAwWEJBjLtptJgCLu9a\/zM1S5GsiyJHpdDs46WbP0EawAEWZ+95Sf0YAHujxRNLdXgpqe0ZF8loVwzZfvyMvqaxF1Ug274BqHuY\/c5NdPAzuqoTwjfEn8NKEoaNqlumM75FUYbaTd7mXvk4WVYWjVnkO40dfQjRB7DYhvj0LBlbndAJ4wJIA2ilPYgjZsXVbNNh3e2j3u9eABd0VaFMbSb8Sz5\/31r8HzoWmPJs3HiyuyANGFUA6CvAnMN6K3b+D8BhFZU\/nPUTgu80o8\/n6LQt+XWbaC\/mTHzsnOjzBiPJxlYawAEW3bmOEtStH2T8q7vMkhchImp2+hg9MFYGBmEe9sSByTn3NUf8eksqXOC1dUjHkXoZm298FgUYLkNdnlxWpf993j5mEDoFxjcTB7scBD7k6nu6Nrs\/wK0+seS8gsHrx9UK7GwAsi10q82Cm4PFyAtrWjmy\/d9WLHuZt6VIOKunTs8cf0FwNUiMcvZsruqIFJcP7iWxdiFdUkh65P\/iCz1ZEjJcj2GEZoq4v3a3by1aizGPaaiKc1jd\/T+XJg\/YpncawAEWnstu5b9WiZv0x8xfsiMk6YRlU0Cnj5svxLLXz\/8drvwAa++GBY5yH0ke2EM6udMEi2EPeFcGTe6Sjs0YEhSbY7Uad\/8suD2J4tIWJSWBbiyvh7rSqzv57m7BlsVcHfQJn\/wNH+UlC9xkx8vg+LwfN8\/FlxvHNPTc7XZG3lKYbwpUWlZxAziOYT1VQ+2K2bQQBBMdix+ht\/SjccL1Dc2dP5kDazQ8yZV\/8xnyeheazEedWe63uutfkHlZRg9YwP8=\",\r\n \"pub_key\":\"\"\r\n },\r\n { \r\n \"vk\":\"AAAAAAAAAAMKwAECSqKy8I8KkSYIBSctxRBRxuR61PpAOwK0UQtkeuPRdwusAyaoBbvv1IBWyMEhvbgT4CtgUnGfYH2s06CIJ09lWWvQ0Jkgthq12mG73H9QSTNM8RITlF1X5ax9BV0EK34M5dUncn1uEYzJzcbaLjUarf2bqoy906dtQpppUWDRLJI6ycw7rKKJ4ZNUhgi4KAEGBsSgLqc0zDKs0rArwouZyz4ofoWnY68mdJKrVy6Zqz83DSdc7B2hqqkHX\/Bfeb4SwAEEv6RMevAQmLGkeK0uJKnMPPAtm8GgXjWSQijYdnxlPh5SJSNeJUbPZKWFFWdk8yIFXKa8jnzETtdGFKgUUt5AVUDpTBmEdwaHCzlFhXrttshy0V5OhPUlV8cGABmxbagMYm0bFPg0r+snSkrB9YG6wqJYQVeIMOCGYCPbHmDA8R\/0+h8VkRKWs1d9KvQOK4kShqgZtYN71KJW8uDE4q2jsGDVvxFt1AgmU9b93xsXF17KrpZy5WxlLZ73HtnTD\/oawAED4vd\/rK+Kx\/n8x\/OdDiiEOPUlYDlDCQUqenU9XHKH3B6ijfkJ368wd3LDDVStjDwNORrAyUSw\/VlSNUpd1XLC8d17gTaIq5ZI2fWuwwZaoN1JCsYU8fQ6USgtIehQX7IPP8EkFuNmuCBCmpr4schtYniGe9J8Q4dsV+TYPr2uLJkdx1r7luzF++I22k7NfQQM14QDci\/0kgrgmZ54CJGkjXyOhCppBXg3fqLC6aFvT3ZocfiiXBJt0huGgPMDtYsawAECLh8KUdNsDolERwJ8v04bS5jI\/KKf7uUnCHWuCELwbJSUI3OK1ufS1qSpauvSzVQSbrhEzrEfwQn4VtxQxJlX4UdDU+R+hafiZvVC6DLLAbuORBAC3FScn9W58CnezH4DvCp\/w7nftDfdxeuungbZT9XaxS3iNC6PnFsWF6WM3DxMwrzOrFe6wEEoTSPe1mcUDrtwM5UksIvJr6MBRAXrdl0IdBTQr7cLwKe\/KYi4siwdjfJEJtOh7oxQBxBg2UkawAEJAPZK2Gg2MQwpxdDT24lNQHF7FVfkO\/LuhJwn0RbwNDSVeA4P6+tWL5TkCpqr8xYHfwQ6Z3ILfpGCZr8PspwIoRzqZHQ16f8Pq9xnr0hLEI9BOQU0FS2EtuyPgju5iwsAJAfehUzu6kNLphuLGsXoIZdXDG5mbylwh9JzAVXTwgaR0hNqyXVJxgbt7jcYaSEBFcMGV+hjXyVVNzBleE+G9o\/noI\/KWU4Ce7K+qOMcewMKfy\/VEw+gVaD6dHz6AMoawAEE9XuOLwRttvKybAssZ9gsK+\/YRUwuFOeRDIr3NX\/\/\/9bx6pCc18adCIlH\/8EJWFwXZ05ZpNNE88mYx7ZQ3aqaArZJRoWeZeKhqH\/s05V10xbzkYX71G5cqz++8vr9ZlQRb2BeETF\/Tdq\/PLk7qbT8WTGIoq7ZwyDRQTgzvkCgyzj\/hBLh2o7sSVNgUo38SFUTMn7YtvVFYlSrTDE3WKE+T+nh5SWdDBxgDTc3Bw8JpzNH+WkoJ4Lim7sB4Op1gEUawAEW4+kenlffwsNr\/3b3aV0YuusLpxB03sxPzQ5B0CWNiVtbja1Z4tWhKGUUrdq\/eUgMV0y5Of+BqNi5FspAQnhJBFSSxtOzRGV1h3qyUTksfZyed9z8zPI+ZPP9XXm7hYgJgDz\/kxte+NfS9UG9q5AZetHUN4kGxXutjjzfUQZ9yTvhBKgKgTI2Dp\/R\/jZrWQ8F1BoWzIJzjddT1K2MvCQEkARYw08isbOeFmCwgVUcjxYZO45WyOmLQA7QJRL9WvA=\",\r\n \"pub_key\":\"\"\r\n },\r\n { \r\n \"vk\":\"AAAAAAAAAAQKwAECSqKy8I8KkSYIBSctxRBRxuR61PpAOwK0UQtkeuPRdwusAyaoBbvv1IBWyMEhvbgT4CtgUnGfYH2s06CIJ09lWWvQ0Jkgthq12mG73H9QSTNM8RITlF1X5ax9BV0EK34M5dUncn1uEYzJzcbaLjUarf2bqoy906dtQpppUWDRLJI6ycw7rKKJ4ZNUhgi4KAEGBsSgLqc0zDKs0rArwouZyz4ofoWnY68mdJKrVy6Zqz83DSdc7B2hqqkHX\/Bfeb4SwAECh9xcxpjOp1r7kiNIgrI9GgAlvXwgHkTchOxUiyOzTq6FDWdGN64KiC3NDeyGTg8FmzvGzS3jREeJqOdr4G9ZGtWkauAITgLFiH62t+YntRslhr8\/1shxlmzKiNKJN\/QFflEq79pZIlWtp3N8LIHMvXRtl+zt2DMze4s02XDmEkviyVE4CkQUDtCc+2MfPT4JcmEFqtFIxjrXn18SbYg3c6XUQHsGIkuDrKuCTRlpC8kvmM0uVoIeWdmwDlZk4jUawAEJhRwK5ozjqIWRP1bFzBPS9VhaJnfKU9PeFYtN5beiAHrYr2ylIB3yDfmAQUdKDowDUm5nfJATejEjEnrTGxh70QtfoNV391rSns3F71tBwY62KLaNr8qnVfeSFHV3FcQTMHHF\/8mDb5\/11Rj6aiMvW0y6eetHo7CDPMdEyDPmok\/U2ZM5BzOUnwjT21HtnvcKxKKwHJ\/QGfnAHPyDIhNOMgxJCrVazOidLCHeYGpyCLw1ipeTyKOQX0\/ByB8dH6AawAEGV1GuF5SSlT67B1ityPJK2ZwXjeeKB4gGdCG3qRtWxLTZfGhVm7YAYm2f5tw\/wrsJAZ9FubVhateGg0ZN67NxZtsvOOejXz6743f7ijnQopPgd\/8pH+iVf6BEcSO8ZdcHxNRUTayzjVLs99bwMo2zaPevW4X4G\/bN4mh+++aPkdGYHwaiklzUhqJ+eqycrYAFyjyEXaPBXLQm1rpczqluNvnKbd8Q9LZWukgm7\/uWv\/HxufIvdWgoq8bAt78UU3oawAEP9VDehhqrQG5+WHMB66XVxo1TgMM8aVV0SwAq3lCRkpiFBz\/9kw8T1F9Hx2AiNrEGT1QLbdMkpms1cG\/5gBBahQofdt\/NmUs1jfTFXY9iyMy1Q7A6ZYaLP8Z6q+orc1cKqySY+BJZQ\/CpGFfXS0OVniFDQ6v78ytPK7K+yRgT1PxFgm3rZqrG0Tjbrpsg2PUL5S5fuXfMhUosP0uoLj0D1guWAR9Y7kfFBIXaTSFMoa8fghVBUTRNhK9f72a8SxQawAEOiv71taLjKqaaWQ\/QjcDhWbvjG1EnsCyI0toNjGkcF19x4Vk+5NC96\/4ioUGz404IC0XN03roRnibRT\/78D9vZFVCWCqve9EjdF5TcApx03zIP4JT2g2q0MKIGgGrwt4Pz6LO6yOfMm7B8Yraps8IV+nP1w7K1m9XKP\/FvH8egl5GHJe+\/omlC2YyL\/b28jMLENbxDFD+3KPjZFBhSLrRukX2PlayYTwEiTtokA2R9\/11vQvJgP8KFEjGHg6zsAMawAEBn2H\/hz2knb8ltnpEA5YSKVcV3nUtojkCNi\/WUz7xUKd7efw1oI\/lbnKrS7HkyC0JkQUZ1pCWUlSXNmgjMEhsn823a1LFzpV7rOv4vayYvvFX61hB9R78VjpyxJiYpDwRZLiUY3AK4WY8NqFDbjXR7rT4CkFHEf+VhSQQ8ZNvlpod1nmeVQVizHH9e7Tq7wsWz+LWEk3Hx6LmcrgDsL79LZYG9JXU5IdvG8RvLNx9cSwEI8yxcchpISAaot7UoYQ=\",\r\n \"pub_key\":\"\"\r\n },\r\n { \r\n \"vk\":\"AAAAAAAAAAUKwAECSqKy8I8KkSYIBSctxRBRxuR61PpAOwK0UQtkeuPRdwusAyaoBbvv1IBWyMEhvbgT4CtgUnGfYH2s06CIJ09lWWvQ0Jkgthq12mG73H9QSTNM8RITlF1X5ax9BV0EK34M5dUncn1uEYzJzcbaLjUarf2bqoy906dtQpppUWDRLJI6ycw7rKKJ4ZNUhgi4KAEGBsSgLqc0zDKs0rArwouZyz4ofoWnY68mdJKrVy6Zqz83DSdc7B2hqqkHX\/Bfeb4SwAEDYXq5bWJjiTjLUKqiMFw80fK3omCJBD5M7LH5jkktSSwuQiPm75cMfI8XERFFHZ4OcVFGm9KZnEMk91J2K2rq1VZOQ6ixutAwq8vbnmQSz+HEnHzP9dZI2o7h0bMG2dMB2gkbh\/W6Kq9FEAwBVPFiX57pqaAIh2oPNwb0iwSAiGCoHfmEQrIJV8uFoS7+uyYVVdfwSf4AYezMjjBKIf52w3PbAZv4vNveW\/DQ+h8imiWhOaxof\/ub9B3ePTO6LPoawAEApts9ywlUsAWVsSu3\/leglndYQmjb4g43VJCxnEdqWkIQmvyqy1zaYMYTGUqcKrgYLUuIHakLs\/TnvBNN89aPN5om7xMxp6v3v6Vk9QlhsbTbglU3T0M0xlRq+9or3qEYg6eJKRd38BWMWDJn9kjZr7GdoSV91EVkoB7AHUbI6XwIm5Uf8wVJuAKxKlaMaLsBiDV2GwZi9boSGMmuTYRlMfmuoC6o01GVrfzX\/yggvP98st3g6f90kvjmvtCCglkawAEQCAluBzH4VJ018iC1kHKgu3b0IUg3pElzFwWJD8TlvRbRjJuGt1pTFJWFrxvrIDYGE2ostrO9wLU47\/mQ\/SPUnm8jZiPwQP71TVwszEQ7BSW7henodmp2v+EeIusJ2CwExV6lLZ5wpk3fDVyP9fmYiIJMoulBH1m5WglQxKRnnOokmQ6K+CcTCfFUyGU2PxcMjNRm1keV3ZNAaaOKCUbz2lyoySJHzcyjOJe32CRyKtIJHERwCU8aqoWLWMfFBk0awAEX5CSN\/6x9sIv9QVMLft4jZMVMEY7D65LvFCJaup\/jljDQQmN5bFFspmyHL+YgGPkCZGiP2PU0UlCC1NgJ+TBPek3n2huLnHO2Cy0IC4cAf49nEqLu9j1DH0kwavSt3IMM6ENBNfbAK15fli3ZPRHxYI63UT0bvztc\/7Y3\/FpWNqWo13L4HYB20FObwwiYBJcOwp4o+ipxmhKldGde7gCo\/+2StqSjLy8cY53KEx3lRAMYPT3OsP3vHr4az0kU+UsawAEWtqrz6h2QePrjUxdyuqqqaCIDiAPP4vxNUPx5qpTRmwfjL7fRrsInQQhsgnPiWi4CteWkYGRcD74hqDr8SWZjELZiKMNeQREa8+PVqCl2Sthbwv0tKcUwhwFH0NjredoXyTyNdOiElA7uO3RPtrZ5sdhHsve\/PBoiMEmQBKKUxQHiDQDKIBAREfanU6l2OJkMhxvCtZYdYb4nPQQEMgj8pHZ4qKdP\/ll3eh0mZKxjD4+shKCwlTpbZqDT3KCf3mMawAEAMotqiE6mqLXVOU1aHlqtAdU+++\/VcQ60TJYMwfkm1e2rPN82CaYo1JCuoOlNUJIFeRAA0VY2VqEvIcfIUCoZYLO9FTFOJLDohZXcXpknYLP8ba3povJ3EJ\/DEcDAeJ8YuX5ZxIjVH4SjUV47iuLHc85+MBjB1Dq6CYMko18agfbUDfifCn1HdFqrNYJ95wYVU7dQRBEpjLJXhPaoKX6byX+a09CwDgf+dH8RcI4AyjbzEJdfRlFdfMgwl35fkh8=\",\r\n \"pub_key\":\"\"\r\n }\r\n ],\r\n \"ethereumWatchers\":[ \r\n { \r\n \"pub_key\":\"BA6P\/+4+FYBZjnaxJkSo38hWdtxcsgOpXeIFmkGIj2iQIXMhitS9O196awJ5CAy8wM7AHBOoKMPYhG4nUGYAOx8=\"\r\n },\r\n { \r\n \"pub_key\":\"BNNqH8evAM\/w97DYVWhS4g9W3Qf68l5nGCCqXopTq8iYV+hGd4ISwPm8z4uomRkWD9VLySt3ggBvlqQLSSJw0Lc=\"\r\n }\r\n ]\r\n }
endef
# TODO: just make each 'entity' have 1 of each: watcher, issuer, node
# modifying this also requires updating docker-compose
NUM_WATCHERS=2
NUM_ISSUERS=3
NUM_NODES=4
NUM_PROVIDERS=2
# requires presence of appropriate keys
THRESHOLD=3
build_issuers:
@if ! [ -f build/issuers/issuer1/config.toml ]; then \
i=1; while [ "$$i" -le $(NUM_ISSUERS) ]; do \
mkdir -p build/issuers/issuer$$i/coconutkeys ;\
cp localnetdata/issuers/configs/config$$i.toml build/issuers/issuer$$i/config.toml ;\
cp localnetdata/issuers/keys/coconutkeys/threshold-secretKey-id=$$i-attrs=5-n=5-t=$(THRESHOLD).pem build/issuers/issuer$$i/coconutkeys/ ;\
cp localnetdata/issuers/keys/coconutkeys/threshold-verificationKey-id=$$i-attrs=5-n=5-t=$(THRESHOLD).pem build/issuers/issuer$$i/coconutkeys/ ;\
i=$$((i + 1));\
done ;\
fi
docker build -t nym/issuer -f ./DOCKER/issuer/Dockerfile .
build_providers:
@if ! [ -f build/providers/provider1/config.toml ]; then \
i=1; while [ "$$i" -le $(NUM_PROVIDERS) ]; do \
mkdir -p build/providers/provider$$i/accountKey ;\
mkdir -p build/providers/provider$$i/issuerKeys ;\
cp localnetdata/providers/configs/config$$i.toml build/providers/provider$$i/config.toml ;\
cp localnetdata/providers/keys/accountKeys/provider$$i.key build/providers/provider$$i/accountKey/provider.key ;\
cp localnetdata/issuers/keys/coconutkeys/threshold-verificationKey-* build/providers/provider$$i/issuerKeys/ ;\
i=$$((i + 1));\
done ;\
fi
docker build -t nym/provider -f ./DOCKER/provider/Dockerfile .
build_nym_nodes:
@if ! [ -f build/nodes/node0/config/genesis.json ]; then \
i=0; while [ "$$i" -lt $(NUM_NODES) ]; do \
mkdir -p build/nodes/node$$i/config; \
i=$$((i + 1));\
done ;\
chmod g+w -R build/nodes; \
docker run --user $$(id -u $${USER}):$$(id -g $${USER}) --rm -v $(CURDIR)/build/nodes:/tendermint:Z tendermint/tendermint testnet --v $(NUM_NODES) --o . --populate-persistent-peers --starting-ip-address 192.167.10.2 ; \
fi
i=0; while [ "$$i" -lt $(NUM_NODES) ]; do \
sed -i -e "s/$(APP_STATE_ORIGINAL)/$(APP_STATE_REPLACEMENT)/g" build/nodes/node$$i/config/genesis.json ; \
i=$$((i + 1));\
done ;\
docker build -t nym/nymnode -f ./DOCKER/nym_node/Dockerfile .
build_ethereum_watchers:
@if ! [ -f build/eth_watchers/watcher1/config.toml ]; then \
i=1; while [ "$$i" -le $(NUM_WATCHERS) ]; do \
mkdir -p build/ethereum-watchers/watcher$$i; \
cp localnetdata/ethereum-watchers/configs/config$$i.toml build/ethereum-watchers/watcher$$i/config.toml ;\
cp localnetdata/ethereum-watchers/keys/watcher$$i.key build/ethereum-watchers/watcher$$i/watcher.key ;\
i=$$((i + 1));\
done ;\
fi
docker build -t nym/ethereum-watcher -f ./DOCKER/ethereum_watcher/Dockerfile .
localnet-build:
make build_nym_nodes
make build_issuers
make build_ethereum_watchers
make build_providers
# Run a 4-node testnet locally
localnet-start:
@if ! [ -f build/nodes/node0/config/genesis.json ]; then make localnet-build; fi
docker-compose up
# Stop testnet
localnet-stop:
docker-compose down
localnet-clear:
make localnet-stop
rm -rf build
# for debug purposes (assumes the appropriate issuer is already down, tendermint is running, etc.)
# basically point of it is to remove a lot of overhead after introducing tiny change to issuer
debug_restart_single_issuer:
-docker stop testissuer3
# make build_issuers
docker run -it --rm -p 4002:4000 -p 5002:5000 --name=testissuer3 --network=coconutgo_localnet -v $(CURDIR)/build/issuers/issuer3:/issuer:Z nym/issuer -f /issuer/config.toml
debug_start_over_single_node:
-docker stop testsinglenode
rm -rf build/nodes/singlenode
mkdir -p build/nodes/singlenode/config
docker run --user $$(id -u $${USER}):$$(id -g $${USER}) --rm -v $(CURDIR)/build/nodes/singlenode:/tendermint:Z tendermint/tendermint:v0.31.5 init
sed -i -e "s/$(APP_STATE_ORIGINAL)/$(APP_STATE_REPLACEMENT)/g" build/nodes/singlenode/config/genesis.json
# also for debug purposes;
# simpler to test tiny changes rather than having to restart entire cluster
debug_restart_single_node:
go run daemon/nymnode/main.go -cfgFile build/nodes/singlenode/config/config.toml -dataRoot build/nodes/singlenode
# -docker stop testsinglenode
# docker build -t nym/nymnode -f ./DOCKER/nym_node/Dockerfile .
# docker run -it --rm -p 46656:26656 -p 46657:46657 --name=testsinglenode -v $(CURDIR)/build/nodes/singlenode:/tendermint:Z nym/nymnode