rlp | Recursive Length Prefix Encoding in PHP | Identity Management library

 by   web3p PHP Version: 0.3.3 License: MIT

kandi X-RAY | rlp Summary

kandi X-RAY | rlp Summary

rlp is a PHP library typically used in Security, Identity Management applications. rlp has no bugs, it has no vulnerabilities, it has a Permissive License and it has low support. You can download it from GitHub.

Recursive Length Prefix Encoding in PHP.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              rlp has a low active ecosystem.
              It has 20 star(s) with 16 fork(s). There are 2 watchers for this library.
              OutlinedDot
              It had no major release in the last 12 months.
              There are 3 open issues and 6 have been closed. On average issues are closed in 212 days. There are no pull requests.
              It has a neutral sentiment in the developer community.
              The latest version of rlp is 0.3.3

            kandi-Quality Quality

              rlp has 0 bugs and 0 code smells.

            kandi-Security Security

              rlp has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              rlp code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              rlp is licensed under the MIT License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              rlp releases are available to install and integrate.
              Installation instructions, examples and code snippets are available.
              rlp saves you 129 person hours of effort in developing the same functionality from scratch.
              It has 339 lines of code, 16 functions and 6 files.
              It has medium code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi has reviewed rlp and discovered the below as its top functions. This is intended to give you an instant insight into rlp implemented functionality, and help decide if they suit your requirements.
            • Decode data .
            • Encode a string .
            • Decodes hex string .
            • Encode the input .
            • Decodes an input .
            • Encode length .
            • Pad the input to an even if it is odd .
            Get all kandi verified functions for this library.

            rlp Key Features

            No Key Features are available at this moment for rlp.

            rlp Examples and Code Snippets

            No Code Snippets are available at this moment for rlp.

            Community Discussions

            QUESTION

            TypeError: readline.createInterface is not a function
            Asked 2022-Apr-10 at 08:45

            I am trying to read input from console using Node.

            I installed readline-promise:

            ...

            ANSWER

            Answered 2022-Apr-10 at 08:45

            For reasons I don't understand, the readline-promise module does not seem to work the way its documentation says it should when importing from an ESM module using import.

            The default export is not working properly the way the doc shows so it appears you have to manually get the right entry points.

            After examining the object you get when you import readline-promise, this is what I was able to get to work:

            Source https://stackoverflow.com/questions/71814859

            QUESTION

            how can i resolve this error while installing web3
            Asked 2022-Apr-01 at 18:43

            y install' for lru-dict, since package 'wheel' is not installed. Using legacy 'setup.py install' for websockets, since package 'wheel' is not installed. Using legacy 'setup.py install' for bitarray, since package 'wheel' is not installed. Using legacy 'setup.py install' for cytoolz, since package 'wheel' is not installed. Using legacy 'setup.py install' for parsimonious, since package 'wheel' is not installed. Using legacy 'setup.py install' for varint, since package 'wheel' is not installed. Installing collected packages: cytoolz, six, eth-utils, varint, rlp, pycryptodome, parsimonious, netaddr, multidict, hexbytes, frozenlist, eth-keys, base58, yarl, pyrsistent, multiaddr, eth-rlp, eth-keyfile, eth-abi, bitarray, attrs, async-timeout, aiosignal, websockets, pywin32, protobuf, lru-dict, jsonschema, ipfshttpclient, eth-account, aiohttp, web3 Running setup.py install for cytoolz ... error ERROR: Command errored out with exit status 1: command: 'C:\Users\scs\AppData\Local\Programs\Python\Python310\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\scs\AppData\Local\Temp\pip-install-1x2juewd\cytoolz_d8cc48a9187a4f34bf96c2d682dda0ae\setup.py'"'"'; file='"'"'C:\Users\scs\AppData\Local\Temp\pip-install-1x2juewd\cytoolz_d8cc48a9187a4f34bf96c2d682dda0ae\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(file) if os.path.exists(file) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record 'C:\Users\scs\AppData\Local\Temp\pip-record-9zksksgh\install-record.txt' --single-version-externally-managed --compile --install-headers 'C:\Users\scs\AppData\Local\Programs\Python\Python310\Include\cytoolz' cwd: C:\Users\scs\AppData\Local\Temp\pip-install-1x2juewd\cytoolz_d8cc48a9187a4f34bf96c2d682dda0ae
            Complete output (53 lines): [1/5] Cythonizing cytoolz/utils.pyx [2/5] Cythonizing cytoolz/dicttoolz.pyx [3/5] Cythonizing cytoolz/functoolz.pyx [4/5] Cythonizing cytoolz/itertoolz.pyx [5/5] Cythonizing cytoolz/recipes.pyx running install running build running build_py creating build creating build\lib.win-amd64-3.10 creating build\lib.win-amd64-3.10\cytoolz copying cytoolz\compatibility.py -> build\lib.win-amd64-3.10\cytoolz copying cytoolz_signatures.py -> build\lib.win-amd64-3.10\cytoolz copying cytoolz_version.py -> build\lib.win-amd64-3.10\cytoolz copying cytoolz_init_.py -> build\lib.win-amd64-3.10\cytoolz creating build\lib.win-amd64-3.10\cytoolz\curried copying cytoolz\curried\exceptions.py -> build\lib.win-amd64-3.10\cytoolz\curried copying cytoolz\curried\operator.py -> build\lib.win-amd64-3.10\cytoolz\curried copying cytoolz\curried_init_.py -> build\lib.win-amd64-3.10\cytoolz\curried copying cytoolz\dicttoolz.pyx -> build\lib.win-amd64-3.10\cytoolz copying cytoolz\functoolz.pyx -> build\lib.win-amd64-3.10\cytoolz copying cytoolz\itertoolz.pyx -> build\lib.win-amd64-3.10\cytoolz copying cytoolz\recipes.pyx -> build\lib.win-amd64-3.10\cytoolz copying cytoolz\utils.pyx -> build\lib.win-amd64-3.10\cytoolz copying cytoolz\cpython.pxd -> build\lib.win-amd64-3.10\cytoolz copying cytoolz\dicttoolz.pxd -> build\lib.win-amd64-3.10\cytoolz copying cytoolz\functoolz.pxd -> build\lib.win-amd64-3.10\cytoolz copying cytoolz\itertoolz.pxd -> build\lib.win-amd64-3.10\cytoolz copying cytoolz\recipes.pxd -> build\lib.win-amd64-3.10\cytoolz copying cytoolz\utils.pxd -> build\lib.win-amd64-3.10\cytoolz copying cytoolz_init_.pxd -> build\lib.win-amd64-3.10\cytoolz creating build\lib.win-amd64-3.10\cytoolz\tests copying cytoolz\tests\dev_skip_test.py -> build\lib.win-amd64-3.10\cytoolz\tests copying cytoolz\tests\test_compatibility.py -> build\lib.win-amd64-3.10\cytoolz\tests copying cytoolz\tests\test_curried.py -> build\lib.win-amd64-3.10\cytoolz\tests copying cytoolz\tests\test_curried_toolzlike.py -> build\lib.win-amd64-3.10\cytoolz\tests copying cytoolz\tests\test_dev_skip_test.py -> build\lib.win-amd64-3.10\cytoolz\tests copying cytoolz\tests\test_dicttoolz.py -> build\lib.win-amd64-3.10\cytoolz\tests copying cytoolz\tests\test_docstrings.py -> build\lib.win-amd64-3.10\cytoolz\tests copying cytoolz\tests\test_doctests.py -> build\lib.win-amd64-3.10\cytoolz\tests copying cytoolz\tests\test_embedded_sigs.py -> build\lib.win-amd64-3.10\cytoolz\tests copying cytoolz\tests\test_functoolz.py -> build\lib.win-amd64-3.10\cytoolz\tests copying cytoolz\tests\test_inspect_args.py -> build\lib.win-amd64-3.10\cytoolz\tests copying cytoolz\tests\test_itertoolz.py -> build\lib.win-amd64-3.10\cytoolz\tests copying cytoolz\tests\test_none_safe.py -> build\lib.win-amd64-3.10\cytoolz\tests copying cytoolz\tests\test_recipes.py -> build\lib.win-amd64-3.10\cytoolz\tests copying cytoolz\tests\test_serialization.py -> build\lib.win-amd64-3.10\cytoolz\tests copying cytoolz\tests\test_signatures.py -> build\lib.win-amd64-3.10\cytoolz\tests copying cytoolz\tests\test_tlz.py -> build\lib.win-amd64-3.10\cytoolz\tests copying cytoolz\tests\test_utils.py -> build\lib.win-amd64-3.10\cytoolz\tests running build_ext building 'cytoolz.dicttoolz' extension error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/ ---------------------------------------- ERROR: Command errored out with exit status 1: 'C:\Users\scs\AppData\Local\Programs\Python\Python310\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\scs\AppData\Local\Temp\pip-install-1x2juewd\cytoolz_d8cc48a9187a4f34bf96c2d682dda0ae\setup.py'"'"'; file='"'"'C:\Users\scs\AppData\Local\Temp\pip-install-1x2juewd\cytoolz_d8cc48a9187a4f34bf96c2d682dda0ae\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(file) if os.path.exists(file) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record 'C:\Users\scs\AppData\Local\Temp\pip-record-9zksksgh\install-record.txt' --single-version-externally-managed --compile --install-headers 'C:\Users\scs\AppData\Local\Programs\Python\Python310\Include\cytoolz' Check the logs for full command output.

            ...

            ANSWER

            Answered 2021-Nov-11 at 08:51

            you need to install Microsoft Visual C++ Build Tools. Just install the suggested packages, restart your computer, and try your program again. I can't remember exactly what are the packages to install, but the recommended few should be enough.

            Source https://stackoverflow.com/questions/69924121

            QUESTION

            PIP failed to build package cytoolz
            Asked 2022-Mar-26 at 18:26

            I'm trying to install eth-brownie using 'pipx install eth-brownie' but I get an error saying

            ...

            ANSWER

            Answered 2022-Jan-02 at 09:59

            I used pip install eth-brownie and it worked fine, I didnt need to downgrade. Im new to this maybe I could be wrong but it worked fine with me.

            Source https://stackoverflow.com/questions/69875694

            QUESTION

            no module named "web3" eventhough i installed web3.py (i am using a venv)
            Asked 2021-Nov-22 at 00:29
            pip freeze output:
            aiohttp==3.8.1
            aiosignal==1.2.0
            alembic==1.7.5
            aniso8601==9.0.1
            async-timeout==4.0.1
            attrs==21.2.0
            base58==2.1.1
            bitarray==1.2.2
            certifi==2021.10.8
            charset-normalizer==2.0.7
            click==8.0.3
            cytoolz==0.11.2
            eth-abi==2.1.1
            eth-account==0.5.6
            eth-hash==0.3.2
            eth-keyfile==0.5.1
            eth-keys==0.3.3
            eth-rlp==0.2.1
            eth-typing==2.2.2
            eth-utils==1.10.0
            Flask==2.0.2
            flask-marshmallow==0.14.0
            Flask-Migrate==3.1.0
            Flask-RESTful==0.3.9
            Flask-Script==2.0.6
            Flask-SQLAlchemy==2.5.1
            frozenlist==1.2.0
            hexbytes==0.2.2
            idna==3.3
            ipfshttpclient==0.8.0a2
            itsdangerous==2.0.1
            Jinja2==3.0.3
            jsonschema==3.2.0
            lru-dict==1.1.7
            Mako==1.1.6
            MarkupSafe==2.0.1
            marshmallow==3.14.1
            marshmallow-sqlalchemy==0.26.1
            multiaddr==0.0.9
            multidict==5.2.0
            netaddr==0.8.0
            parsimonious==0.8.1
            protobuf==3.19.1
            psycopg2==2.9.2
            pycryptodome==3.11.0
            pyrsistent==0.18.0
            pytz==2021.3
            requests==2.26.0
            rlp==2.0.1
            six==1.16.0
            SQLAlchemy==1.4.27
            toolz==0.11.2
            typing_extensions==4.0.0
            urllib3==1.26.7
            varint==1.0.2
            web3==5.25.0
            websockets==9.1
            Werkzeug==2.0.2
            yarl==1.7.2
            
            ...

            ANSWER

            Answered 2021-Nov-22 at 00:29

            Are you sourcing your venv before running test.py?

            If so, then try this,

            Source https://stackoverflow.com/questions/70059478

            QUESTION

            How to marshal an embedded struct in go?
            Asked 2021-Oct-18 at 19:56

            I've come across a case which is new to me in go. I think it is something similar to this question Idiomatic way to embed struct with custom MarshalJSON() method

            Here is an example of code that I am trying to apply

            main.go

            ...

            ANSWER

            Answered 2021-Oct-18 at 19:56

            The types.Header type implements a custom json marshaler here, and as you can see it replaces Difficulty *big.Int with Difficulty *hexutil.Big which is why you get that hex value in the json.

            To disable the custom marshaler you can declare a new type using types.Header as the type definition, and then, just before you marshal the header, you convert it to this new type.

            Source https://stackoverflow.com/questions/69621461

            QUESTION

            In Selenium, is it good to reuse same instance of the Page class multiple times in the same test method or should I create new instance?
            Asked 2021-Jul-19 at 16:23

            I need to test the website: https://www.rediff.com using PageFactory pattern.
            My test method does the following steps:
            Step-1. Goto Rediff home page https://www.rediff.com/
            Step-2. Click on Sign-in button
            Step-3. Enter the username and password and click on Submit button
            Step-4. Click on rediff.com link at the extreme top left which will take the user back to Rediff home page. Now enter the text in the search bar and click on Search button

            Below is the test class:

            ...

            ANSWER

            Answered 2021-Jul-19 at 15:58

            If possibly, in such situations you definitely should reuse the existing objects, not to create again and again new redundant objects.

            Source https://stackoverflow.com/questions/68443523

            QUESTION

            Port setrlimit RLIMIT_CPU to windows
            Asked 2020-Dec-21 at 22:15

            I spent a good part of today trying to port the expresso logic heuristic to windows/visual studios so that I can link it as a static library. Github Link (I spent a good part of yesterday trying to find a version that works on windows that's not just a exe so I can link it to my c++ code before giving up and trying to implement it myself)

            Most of my effort was fixing all the link errors and editing a NodeJS bridge for it so that I can (somewhat easily) link it as a static library with a "minimize_from_data" function however a lot of my "porting" was pretty hamfisted and I simply disabled some functions that were POSIX only.

            Now that I've gotten it to compile I'm trying to go back over and make sure it's not buggy before I use it safely in some personal projects (I don't fully trust that I ported it correctly). One of the functions I "disabled" was a sys/resource function that sets the RLIMIT_CPU to some seconds value functioning as what I can understand a timeout function that kills the program If it takes too long. copying here

            ...

            ANSWER

            Answered 2020-Dec-21 at 22:13

            In my specific case, the set_time_limit function is not called in any part of expresso. (disabling it does not change the functionality of the program) so deleting it is fine and I can move on to validating other parts.

            For future readers, while trying to port it information I received, the functionality for setrlimit RLIMIT_CPU on windows can be achieved with job objects from windows.h https://docs.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-jobobject_basic_limit_information

            Source https://stackoverflow.com/questions/65351841

            QUESTION

            Unable to install web3. I get an error saying version does not satisfy requirement rusty-rlp
            Asked 2020-Oct-03 at 11:36

            I am trying to install some packages for Python. When installing web3, I get an error saying there is no version that satisfies rusty-rlp. Other packages get installed fine. I am using

            pip version: 20.2.3

            python version: 3.8.5

            OS: Windows 10

            IDE: PyCharm Community Edition

            ...

            ANSWER

            Answered 2020-Oct-02 at 12:04

            I had the same issue. As I was trying to install the rusty-rlp package itself downloading the files from the web, I realized there is no option (wheel or zip file) for 32-bit python installations. I'm on a 64-bit windows PC but for some reason I had a Python-32bit version running so, I Installed Python38-64bit and runned Pip again and the issue with web3 disappeared.

            Try it and let me know if you need more info!

            Source https://stackoverflow.com/questions/64164283

            QUESTION

            How to extract data from nested Json in Jmeter using Json Extractor
            Asked 2020-Aug-31 at 16:39

            {"data": {"callOrders": [{ "promotionId": null, "Promotion": null, "Lines": [ { "id": 5105808, "quantity": 10, "skuId": 769, "callId": 494285, "skuBatchId": 733, "amountDetails": { "rate": 197.53, "grossAmount": 2232.089, "netAmount": 2232.089, "taxAmount": 256.789, "taxableAmount": 1975.3, "subTotal": 1975.3, "billDiscount": 0, "tradeDiscount": 0, "discountAmount": 0, "promotionDiscount": 0, "topUpDiscount": 0, "__typename": "AmountDetail" }, "rateDetails": { "rlp": 197.53, "rlpWithVat": 223.2089, "netPrice": 197.53, "netPriceWithVat": 223.2089, "__typename": "RateDetail" }, "SKU": { "id": 769, "title": "H&S 2in1 Active Protect 180 ml x 24 [82302894]", "__typename": "SKU" }, "SKUBatch": { "priceDetails": { "rlp": 197.53, "dlp": 186.35, "vatPercentage": 0.13, "mrpSrp": 250, "mrpStatus": true, "__typename": "SKUPrice" }, "batchDetails": { "batchNumber": "DEFAULT_BATCH", "__typename": "SKUBatch" }, "usageDate": { "manufacture": "0000-00-00", "expiry": "0000-00-00", "__typename": "SKUUsage" }, "updatedAt": "2019-11-05", "active": true, "__typename": "SKUBatchRate" }, "Promotion": { "id": null, "title": null, "type": null, "scope": null, "criteria": null, "__typename": "Promotion" }, "promotionId": null, "distributorId": 16, "__typename": "Line", "inStock": "INSTOCK", "freeSku": false, "focusedSku": false }, { "id": 5105809, "quantity": 50, "skuId": 95, "callId": 494285, "skuBatchId": 111, "amountDetails": { "rate": 56.89, "grossAmount": 3214.2852, "netAmount": 3214.285, "taxAmount": 369.785, "taxableAmount": 2844.5, "subTotal": 2844.5, "billDiscount": 0, "tradeDiscount": 0, "discountAmount": 0, "promotionDiscount": 0, "topUpDiscount": 0, "__typename": "AmountDetail" }, "rateDetails": { "rlp": 56.89, "rlpWithVat": 64.2857, "netPrice": 56.89, "netPriceWithVat": 64.2857, "__typename": "RateDetail" }, "SKU": { "id": 95, "title": "Whisper Choice 6s x 96 [82252488]", "__typename": "SKU" }, "SKUBatch": { "priceDetails": { "rlp": 56.89, "dlp": 53.67, "vatPercentage": 0.13, "mrpSrp": 72, "mrpStatus": true, "__typename": "SKUPrice" }, "batchDetails": { "batchNumber": "DEFAULT_BATCH", "__typename": "SKUBatch" }, "usageDate": { "manufacture": "0000-00-00", "expiry": "0000-00-00", "__typename": "SKUUsage" }, "updatedAt": "2016-08-15", "active": true, "__typename": "SKUBatchRate" }, "Promotion": { "id": null, "title": null, "type": null, "scope": null, "criteria": null, "__typename": "Promotion" }, "promotionId": null, "distributorId": 16, "__typename": "Line", "inStock": "INSTOCK", "freeSku": false, "focusedSku": false }, { "id": 5105810, "quantity": 10, "skuId": 82, "callId": 494285, "skuBatchId": 551, "amountDetails": { "rate": 281.88, "grossAmount": 3185.244, "netAmount": 3185.244, "taxAmount": 366.444, "taxableAmount": 2818.8, "subTotal": 2818.8, "billDiscount": 0, "tradeDiscount": 0, "discountAmount": 0, "promotionDiscount": 0, "topUpDiscount": 0, "__typename": "AmountDetail" }, "rateDetails": { "rlp": 281.88, "rlpWithVat": 318.5244, "netPrice": 281.88, "netPriceWithVat": 318.5244, "__typename": "RateDetail" }, "SKU": { "id": 82, "title": "Ariel Oxyblu 1 kg x 24 [82250306]", "__typename": "SKU" }, "SKUBatch": { "priceDetails": { "rlp": 281.88, "dlp": 268.45, "vatPercentage": 0.13, "mrpSrp": 344, "mrpStatus": true, "__typename": "SKUPrice" }, "batchDetails": { "batchNumber": "DEFAULT_BATCH", "__typename": "SKUBatch" }, "usageDate": { "manufacture": "0000-00-00", "expiry": "0000-00-00", "__typename": "SKUUsage" }, "updatedAt": "2018-01-31", "active": true, "__typename": "SKUBatchRate" }, "Promotion": { "id": null, "title": null, "type": null, "scope": null, "criteria": null, "__typename": "Promotion" }, "promotionId": null, "distributorId": 16, "__typename": "Line", "inStock": "INSTOCK", "freeSku": false, "focusedSku": false } ], "__typename": "PromotionOrder" }]}}

            Using $..Lines..id I am getting this [ 5105808, 769, null, 5105809, 95, null, 5105810, 82, null ]

            But I want to get value [ 5105808, 5105809, 5105810] only. What should be the way to achieve it?

            ...

            ANSWER

            Answered 2020-Aug-30 at 17:57

            This is a possible solution:

            $..[?(@.skuId)].id

            This gets elements that have the skuId attribute and extracts the id attribute.

            Source https://stackoverflow.com/questions/63660156

            QUESTION

            Including properties with xpointer in Sulu templates
            Asked 2020-Aug-19 at 12:47

            I have set up some Sulu templates and I have been able to use the method described here to include the contents of an entire file in multiple templates:

            https://docs.sulu.io/en/2.1/book/templates.html

            I'm using:

            and this works perfectly

            However I have then tried to include the properties from another template using the xpointer method (in order that i can include a bunch of common properties across all templates in one file, PLUS define specific properties for the individual templates)

            My root template is here: (root-page-test.xml)

            ...

            ANSWER

            Answered 2020-Aug-19 at 12:47

            Your XPointer is not correct, because if you start it with a / it means that you are starting at the root of the document. So if you do /sulu:properties/sulu:property the XPointer assumes that there should be a properties tag at the root of the file you are trying to include. My suggestion is that you make a file like that (this is also shown in the last code snippet in our documentation in this heading):

            Source https://stackoverflow.com/questions/63452598

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install rlp

            Set minimum stability to dev.

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/web3p/rlp.git

          • CLI

            gh repo clone web3p/rlp

          • sshUrl

            git@github.com:web3p/rlp.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular Identity Management Libraries

            vault

            by hashicorp

            k9s

            by derailed

            keepassxc

            by keepassxreboot

            keycloak

            by keycloak

            uuid

            by uuidjs

            Try Top Libraries by web3p

            web3.php

            by web3pPHP

            ethereum-tx

            by web3pPHP

            ethereum-util

            by web3pPHP

            examples

            by web3pPHP

            docs

            by web3pJavaScript