Skip to content

๐ŸŒ CID Network, ๐Ÿš€ Web3 Infrastructure Platform. | ๐ŸŒ CID ็ฝ‘็ปœ๏ผŒ๐Ÿš€ Web3 ๅŸบ็ก€่ฎพๆ–ฝๅนณๅฐใ€‚ | ๐ŸŒ ๐Ÿš€CID CDN | ๐ŸŒ ๐Ÿš€CID ๅ†…ๅฎนๅˆ†ๅ‘็ฝ‘็ปœ

License

Notifications You must be signed in to change notification settings

foxxcn/ShangDian

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

bannergithub

ShangDian ๆ˜ฏ CID ็ฝ‘็ปœ็š„ๅผ€ๆบ Rust ๅฎž็Žฐใ€‚

ShangDian - CID ็ฝ‘็ปœ่Š‚็‚น

ๆญคๅญ˜ๅ‚จๅบ“ๅŒ…ๅซ CID ็ฝ‘็ปœ ๅฎž็Žฐ็š„ๆบไปฃ็ ใ€‚

ไปฅไธ‹ๆ˜ฏ็›ฎๅฝ•ๆžถๆž„๏ผš

โ””โ”€โ”€ ShangDian
    โ”œโ”€โ”€ core
    โ”‚   โ”œโ”€โ”€ application
    โ”‚   โ”œโ”€โ”€ archive
    โ”‚   โ”œโ”€โ”€ blockstore
    โ”‚   โ”œโ”€โ”€ blockstore-server
    โ”‚   โ”œโ”€โ”€ broadcast
    โ”‚   โ”œโ”€โ”€ cli
    โ”‚   โ”œโ”€โ”€ consensus
    โ”‚   โ”œโ”€โ”€ dack-aggregator
    โ”‚   โ”œโ”€โ”€ e2e
    โ”‚   โ”œโ”€โ”€ fetcher
    โ”‚   โ”œโ”€โ”€ handshake
    โ”‚   โ”œโ”€โ”€ indexer
    โ”‚   โ”œโ”€โ”€ interfaces
    โ”‚   โ”œโ”€โ”€ keystore
    โ”‚   โ”œโ”€โ”€ metrics
    โ”‚   โ”œโ”€โ”€ mock
    โ”‚   โ”œโ”€โ”€ node
    โ”‚   โ”œโ”€โ”€ notifier
    โ”‚   โ”œโ”€โ”€ origin-arweave
    โ”‚   โ”œโ”€โ”€ origin-demuxer
    โ”‚   โ”œโ”€โ”€ origin-filecoin
    โ”‚   โ”œโ”€โ”€ origin-http
    โ”‚   โ”œโ”€โ”€ origin-ipfs
    โ”‚   โ”œโ”€โ”€ pinger
    โ”‚   โ”œโ”€โ”€ pool
    โ”‚   โ”œโ”€โ”€ rep-collector
    โ”‚   โ”œโ”€โ”€ reputation
    โ”‚   โ”œโ”€โ”€ resolver
    โ”‚   โ”œโ”€โ”€ rpc
    โ”‚   โ”œโ”€โ”€ rpc-openrpc
    โ”‚   โ”œโ”€โ”€ rpc-openrpc-macros
    โ”‚   โ”œโ”€โ”€ schema
    โ”‚   โ”œโ”€โ”€ service-executor
    โ”‚   โ”œโ”€โ”€ signer
    โ”‚   โ”œโ”€โ”€ syncronizer
    โ”‚   โ”œโ”€โ”€ test-utils
    โ”‚   โ”œโ”€โ”€ topology
    โ”‚   โ”œโ”€โ”€ types
    โ”‚   โ””โ”€โ”€ utils
    โ”œโ”€โ”€ docs
    โ”‚   โ””โ”€โ”€ rpc
    โ”œโ”€โ”€ etc
    โ”‚   โ””โ”€โ”€ global-metrics
    โ”œโ”€โ”€ lib
    โ”‚   โ”œโ”€โ”€ affair
    โ”‚   โ”œโ”€โ”€ atomo
    โ”‚   โ”œโ”€โ”€ atomo-rocks
    โ”‚   โ”œโ”€โ”€ blake3-js
    โ”‚   โ”œโ”€โ”€ blake3-tree
    โ”‚   โ”œโ”€โ”€ blake3-wasm
    โ”‚   โ”œโ”€โ”€ cdk
    โ”‚   โ”œโ”€โ”€ cdk-rust
    โ”‚   โ”œโ”€โ”€ fast-sri
    โ”‚   โ”œโ”€โ”€ fleek-crypto
    โ”‚   โ”œโ”€โ”€ fleek-ipld
    โ”‚   โ”œโ”€โ”€ hp-fixed
    โ”‚   โ”œโ”€โ”€ infusion
    โ”‚   โ”œโ”€โ”€ infusion-proc
    โ”‚   โ”œโ”€โ”€ ink-quill
    โ”‚   โ”œโ”€โ”€ once-ptr
    โ”‚   โ”œโ”€โ”€ panic-report
    โ”‚   โ”œโ”€โ”€ resolved-pathbuf
    โ”‚   โ”œโ”€โ”€ sdk
    โ”‚   โ””โ”€โ”€ simulon
    โ””โ”€โ”€ services
        โ”œโ”€โ”€ ai
        โ”œโ”€โ”€ fetcher
        โ””โ”€โ”€ js-poc

ๆœ‰ไธ‰ไธช้กถ็บง็›ฎๅฝ• libใ€core ๅ’Œ services๏ผš

  1. lib๏ผšๅˆ›ๅปบ็š„ไปปไฝ•ๅผ€ๆบๅบ“๏ผŒ็”จไปฅ่งฃๅ†ณ่‡ชๅทฑ็š„้—ฎ้ข˜๏ผŒ่ฟ™ไบ›ๅบ“ไปฅๅ‹ๅฅฝ็š„่ฎธๅฏๅ‘ๅธƒ๏ผŒไธŽ Rust ็”Ÿๆ€็ณป็ปŸๅ…ผๅฎน๏ผˆMIT | Apache๏ผ‰ใ€‚

  2. core๏ผš่ฟ™ๆ˜ฏๆ ธๅฟƒๅ่ฎฎ็š„ๆ‰€ๆœ‰ๅฎž็Žฐ๏ผŒไธป่ฆ็š„ crate ๆ˜ฏ node๏ผŒๅฎƒๅŒ…ๅซๆœ€้‡่ฆไธ”ๅ‘ๅธƒ็š„ main.rsใ€‚ๅฆไธ€ไธชๅปบ่ฎฎๅคงๅฎถ็†Ÿๆ‚‰็š„้‡่ฆ crate ๆ˜ฏ interfaces๏ผŒๅฎƒๅŒ…ๅซไบ†้กน็›ฎ็š„่‡ช้กถๅ‘ไธ‹่ง„่Œƒใ€‚

  3. services๏ผšไฝฟ็”จ SDK ๆž„ๅปบ็š„ๆœๅŠกใ€‚

ๆŽฅๅฃ

ๆœฌ่ฝฏไปถ้‡‡็”จ็š„่ฎพ่ฎกๆจกๅผๆทฑๅ— Alan Kay ๆ่ฟฐ็š„้ขๅ‘ๅฏน่ฑกๆจกๅž‹็š„ๅฏๅ‘๏ผŒ่ฟ™ๅฏ่ƒฝไธŽ Java ไฝฟ้ขๅ‘ๅฏน่ฑก็ผ–็จ‹๏ผˆOOP๏ผ‰ๅๅฃฐๅคงๅ™ช็š„ๆจกๅผ็•ฅๆœ‰ไธๅŒใ€‚

็ฎ€่€Œ่จ€ไน‹๏ผŒ่ฟ™ไธŽๅŒไธ€็†ๅฟต็ฑปไผผ๏ผŒๅฐ†ไธๅŒ็š„่ฎก็ฎ—ๅ’Œๅค„็†ๅ•ๅ…ƒ่กจ็คบไธบ้€š่ฟ‡ๆถˆๆฏไผ ้€’็›ธไบ’้€šไฟก็š„ๅฏน่ฑกใ€‚

Rust ็‰ˆๆœฌ

ไธบไบ†ๅ……ๅˆ†ๅˆฉ็”จ็”Ÿๆ€็ณป็ปŸ๏ผŒ้ป˜่ฎคๅœจ rust-toolchain ๆ–‡ไปถไธญ่ฎพ็ฝฎไบ† Rust ็š„ nightly ็‰ˆๆœฌ๏ผŒไฝฟ็”จ็š„็‰ˆๆœฌๆ˜ฏ nightly-2023-07-01๏ผŒ่ฟ™ไนŸๆ˜ฏ rustfmt ้กน็›ฎๆœฌ่บซไฝฟ็”จ็š„็‰ˆๆœฌ๏ผŒ่ฟ™ๆ˜ฏๅฏ้ ๆ€ง็š„ไธ€ไธชๅฅฝๆ ‡ๅฟ—ใ€‚

่ฟ™ๆ˜ฏไธบไบ†ไฝฟ IDE ้ป˜่ฎค้€‰ๆ‹ฉๅ’Œ้ป˜่ฎค่ฐƒ็”จ cargo fmt ๅœจๆฏไธชไบบไน‹้—ดไฟๆŒไธ€่‡ด๏ผŒๅนถไธ”ๅœจไฝฟ็”จ clippy ๅ’Œ fmt ๆ—ถๅฏไปฅไฝฟ็”จไธ€ไบ› nightly ้€‰้กนใ€‚

ไฝ†่ฟ™ๅนถไธๆ„ๅ‘ณ็€ๅฐ†ไฝฟ็”จ่ฟ™ไธช็‰ˆๆœฌๆฅๆž„ๅปบๅ’Œๅ‘ๅธƒไบŒ่ฟ›ๅˆถๆ–‡ไปถ๏ผŒไปปไฝ•ๅฎž้™…็”จไพ‹็š„ๆž„ๅปบๅบ”ไฝฟ็”จ cargo +stable build ๅ‘ฝไปค๏ผŒๅณๅฐ†ๅˆฐๆฅ็š„่„šๆœฌๅ’Œ CI ้…็ฝฎๅฐ†็ฎ€ๅŒ–่ฟ™ไธช่ฟ‡็จ‹ใ€‚ๆˆ‘ไปฌ็š„ MSRV๏ผˆๆœ€ๅฐๆ”ฏๆŒ Rust ็‰ˆๆœฌ | Minimum Supported Rust Version๏ผ‰ๆ˜ฏ 1.75ใ€‚

ๆ€ป่€Œ่จ€ไน‹๏ผšๆˆ‘ไปฌไฝฟ็”จ rust-toolchain ไธญ่ฎพ็ฝฎ็š„้ป˜่ฎคๅ€ผๆฅไฟๆŒไปฃ็ ็š„ไธ€่‡ดๆ ผๅผใ€‚ๅนถไธไธ€ๅฎš่กจ็คบ่ฟ™ๆ˜ฏๆˆ‘ไปฌ็”จไบŽๆž„ๅปบ็š„็ผ–่ฏ‘ๅ™จ็‰ˆๆœฌ๏ผŒๆž„ๅปบๅบ”ไฝฟ็”จ rust stable๏ผŒๅนถไธ”ๆœ€ไฝŽ็‰ˆๆœฌไธบ 1.75ใ€‚

ๅผ€ๅ‘

่ฆ่ฟ่กŒ่Š‚็‚นๅนถๆ‰ง่กŒ็ฎ€ๅ•็š„ๆฃ€ๆŸฅ๏ผŒ่ฏทๆ‰ง่กŒไปฅไธ‹ๆ“ไฝœ๏ผš

# ๅฏๅŠจ่Š‚็‚น
$ cargo run -r -- run

# ๅœจๅฆไธ€ไธช็ปˆ็ซฏ๏ผŒๅ‘้€่ฏทๆฑ‚ๅˆฐ ping rpc ็ซฏ็‚น
$ curl -X POST -H "Content-Type: application/json" -d '{
      "jsonrpc": "2.0",
      "method": "flk_ping",
      "params": [],
      "id": 1
    }' https://127.0.0.1:4069/rpc/v0
# ๅ“ๅบ”๏ผš{"jsonrpc":"2.0","result":"pong","id":1}

About

๐ŸŒ CID Network, ๐Ÿš€ Web3 Infrastructure Platform. | ๐ŸŒ CID ็ฝ‘็ปœ๏ผŒ๐Ÿš€ Web3 ๅŸบ็ก€่ฎพๆ–ฝๅนณๅฐใ€‚ | ๐ŸŒ ๐Ÿš€CID CDN | ๐ŸŒ ๐Ÿš€CID ๅ†…ๅฎนๅˆ†ๅ‘็ฝ‘็ปœ

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 86.4%
  • TypeScript 12.4%
  • JavaScript 1.0%
  • Dockerfile 0.1%
  • Python 0.1%
  • HTML 0.0%