# PHP Scale Codec
* **Team Name:** [gmajor](https://github.com/gmajor-encrypt)
* **Payment Address:** 0xC3094f0ddce699a1Ad9Ef2621DF68Cd297a4c44F
## Project Overview :page_facing_up:
Scale Codec is PHP lib for decode/encode used by substrate.
## Team :busts_in_silhouette:
### Team members
* gmajor
### Contact
* **Contact Name:** gmajor
* **Contact Email:** gmajorencrypt@gmail.com
* **Legal Structure:** individual
### Team's experience
I have many years of php development experience and nearly three years of blockchain development experience, familiar with php, golang, python, js
### Team Code Repos
https://github.com/gmajor-encrypt/php-scale-codec
https://github.com/gmajor-encrypt/php-substrate-api
## Development Roadmap :nut_and_bolt:
* **Total Estimated Duration:** 8 weeks
* **Total Costs:** 12000 Dai
### Milestone 1
* **Estimated Duration:** 4 weeks
* **Costs:** 6000 Dai
| 0a. | License | Apache 2.0 / MIT / Unlicense |
| 0b. | Documentation | Simple documentation on how to use this library |
| 1. | Scale decode | This deliverable includes the following types of https://substrate.dev/docs/en/knowledgebase/advanced/codec : Fixed-width Integers,Compact/General Integers,Boolean,Options,Vectors,Strings,Tuples, Structures, Enum|
| 2. | Scale encode | This deliverable includes the following types of https://substrate.dev/docs/en/knowledgebase/advanced/codec : Fixed-width Integers,Compact/General Integers,Boolean,Options,Vectors,Strings,Tuples, Structures, Enum |
| 3. | Unit test | Including all the unit tests mentioned above |
| 4. | Packagist | Submit to Packagist for composer to use |
### Milestone 2 Example — Additional features
* **Estimated Duration:** 2 weeks
* **Costs:** 6200 Dai
| 0a. | License | Apache 2.0 / MIT / Unlicense |
| 0b. | Documentation | Simple documentation on how to use this library |
| 1. | Metadata decode | support recent runtime metadata decode |
| 2. | Results encode/decode | Results types encode/decode, https://substrate.dev/docs/en/knowledgebase/advanced/codec#results|
| 3. | Event decode | storage EventRecord decode|
| 4. | Extrinsic decode | Extrinsic decode |
| 5. | Custom Type reg | Can register a custom type through the file |
| 6. | Unit test | Including all the unit tests mentioned above |
| 7. | Packagist | Submit to Packagist for composer to use |
## Future Plans
1. Long-term support, Because I found that the underlying changes of substrate are still very frequent, I expect scale lib will be a long-term job in the future