Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/talljack/arcblock-test
ArcBlock codeing test
https://github.com/talljack/arcblock-test
Last synced: about 20 hours ago
JSON representation
ArcBlock codeing test
- Host: GitHub
- URL: https://github.com/talljack/arcblock-test
- Owner: Talljack
- License: other
- Created: 2024-04-22T08:08:12.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-05-02T13:53:03.000Z (9 months ago)
- Last Synced: 2024-05-03T05:05:32.249Z (9 months ago)
- Language: TypeScript
- Size: 1.06 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Getting Started with Create Blocklet
This project was bootstrapped with [Create Blocklet](https://github.com/blocklet/create-blocklet).
This blocklet is a static project, which means this is a frontend application. It's contained `client` code.
## File Structure
- public/ - static files
- favicon.ico - favicon
- favicon.svg - favicon
- index.html - main html file, template for react
- screenshots/ - Screenshots
- src/ - Client side code (A standard react app structure)
- .env - Environment variables
- .env.local - Local environment variables
- .eslintrc.js - ESLint configuration
- .gitignore - Git ignore file
- .prettierrc - Prettier configuration
- blocklet.md - Blocklet README
- blocklet.yml - Blocklet configuration
- LICENSE - License file
- logo.png - Blocklet logo file
- Makefile - Makefile
- package.json - Npm package file
- README.md - A guide for this blocklet
- version - Version file## Development
1. Make sure you have [@blocklet/cli](https://www.npmjs.com/package/@blocklet/cli) installed
Blocklet needs blocklet server as a dependency. So you need to install it first.
`npm install -g @blocklet/cli`
See details in [https://developer.blocklet.io/docs/en/quick-start/blocklet-server#use-the-binary-distribution](https://developer.blocklet.io/docs/en/quick-start/blocklet-server#use-the-binary-distribution)2. Init blocklet server & start blocklet server
Before starting an blocklet server, you need to init blocklet server.
`blocklet server init --mode=debug`
`blocklet server start`
See details in [https://developer.blocklet.io/docs/en/quick-start/blocklet-server](https://developer.blocklet.io/docs/en/quick-start/blocklet-server)3. Go to the project directory `cd [name]`
4. Install dependencies: `npm install` or `yarn`
5. Start development server: `blocklet dev`## Bundle
After developing a blocklet, you may need to bundle it. Use `npm run bundle` command.
## Deploy
- If you want to deploy this blocklet to local blocklet server, you can use `blocklet deploy .blocklet/bundle` command(Make sure the blocklet is bundled before deployment.)
> Or you can simply use `npm run deploy` command.
- If you want to deploy this blocklet to remote blocklet server, you can use the command below.```shell
blocklet deploy .blocklet/bundle --endpoint {your blocklet server url} --access-key {blocklet server access key} --access-secret {blocklet server access secret}
```> Make sure the blocklet is bundled before deployment.
## Upload to blocklet store
- If you want to upload the blocklet to any store for other users to download and use, you can following the following instructions.
Bump version at first.
```shell
make bump-version
```Then config blocklet store url.
You can use those store url in below.1. [https://store.blocklet.dev/](https://store.blocklet.dev/)
2. [https://dev.store.blocklet.dev/](https://dev.store.blocklet.dev/)
3. A blocklet store started by yourself.
> Make sure you have installed a `blocklet store` on your own blocklet server. Check it on here: [https://store.blocklet.dev/blocklet/z8ia29UsENBg6tLZUKi2HABj38Cw1LmHZocbQ](https://store.blocklet.dev/blocklet/z8ia29UsENBg6tLZUKi2HABj38Cw1LmHZocbQ)```shell
blocklet config set store {store url}
```Get a `accessToken` from blocklet store.
> Why we need a `accessToken`?
> A `accessToken` is genrate by blocklet store, which help us upload our blocklet to any store.Set `accessToken` to blocklet config
```shell
blocklet config set accessToken {accessToken}
```Upload a new version to a store.
> Make sure the blocklet is bundled before upload.
```shell
blocklet upload
```Or you can simply use `npm run upload` command.
- You also can upload a new version to blocklet store by Github CI.
Bump version at first.```shell
make bump-version
```Push your code to Github main/master branch, or make a pull request to the main/master branch.
The CI workflow will automatically upload a new version to a store.## Q & A
1. Q: How to change a blocklet's name?
A: Change the `name` field in the `package.json` file, change the `name` field in the `blocklet.yml` file.
You can also change the `title` field and `description` field in the `blocklet.yml` file.
Run `blocklet meta` command, you will get a `did` config, copy the `did` value.
Replace this command `"bundle": "PUBLIC_URL='/.blocklet/proxy/{did}' npm run build",` in `package.json`
Replace `did` field in the `blocklet.yml`
2. Q: How to change a blocklet's logo?
Change the `logo.png` file root folder.
Or you can change the `logo` field in the `blocklet.yml` file.
> Make sure you have added the logo path to the `blocklet.yml` file `files` field.
## Learn More
- Full specification of `blocklet.yml`: [https://github.com/blocklet/blocklet-specification/blob/main/docs/meta.md](https://github.com/blocklet/blocklet-specification/blob/main/docs/meta.md)
- Full document of Blocklet Server & blocklet development: [https://developer.blocklet.io/docs/en](https://developer.blocklet.io/docs/en)## License
The code is licensed under the Apache 2.0 license found in the
[LICENSE](LICENSE) file.