Merge pull request #8 from filecoin-project/chores/add-various-docs
add README + basic CircleCI configuration
This commit is contained in:
commit
0cf0240cb5
79
.circleci/config.yml
Normal file
79
.circleci/config.yml
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
version: 2.1
|
||||||
|
orbs:
|
||||||
|
go: gotest/tools@0.0.9
|
||||||
|
executors:
|
||||||
|
golang:
|
||||||
|
docker:
|
||||||
|
- image: circleci/golang:1.13
|
||||||
|
resource_class: 2xlarge
|
||||||
|
commands:
|
||||||
|
prepare-git-checkout:
|
||||||
|
steps:
|
||||||
|
- checkout
|
||||||
|
- run: git submodule sync
|
||||||
|
- run: git submodule update --init --recursive
|
||||||
|
install-build-dependencies:
|
||||||
|
steps:
|
||||||
|
- run: sudo apt-get update
|
||||||
|
- run: sudo apt-get install -y jq ocl-icd-opencl-dev
|
||||||
|
- run: ./extern/filecoin-ffi/install-filcrypto
|
||||||
|
download-groth-params-and-verifying-keys:
|
||||||
|
steps:
|
||||||
|
- restore_cache:
|
||||||
|
name: Restore parameters cache
|
||||||
|
keys:
|
||||||
|
- 'v24-2k-lotus-params'
|
||||||
|
paths:
|
||||||
|
- /var/tmp/filecoin-proof-parameters/
|
||||||
|
- run: |
|
||||||
|
DIR=$(pwd)
|
||||||
|
cd $(mktemp -d)
|
||||||
|
go get github.com/filecoin-project/go-paramfetch/paramfetch
|
||||||
|
go build -o go-paramfetch github.com/filecoin-project/go-paramfetch/paramfetch
|
||||||
|
./go-paramfetch 2048 "${DIR}/parameters.json"
|
||||||
|
- save_cache:
|
||||||
|
name: Save parameters cache
|
||||||
|
key: 'v24-2k-lotus-params'
|
||||||
|
paths:
|
||||||
|
- /var/tmp/filecoin-proof-parameters/
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
executor: golang
|
||||||
|
environment:
|
||||||
|
RUST_LOG: info
|
||||||
|
steps:
|
||||||
|
- prepare-git-checkout
|
||||||
|
- install-build-dependencies
|
||||||
|
- download-groth-params-and-verifying-keys
|
||||||
|
- run: go test -v -timeout 10m ./...
|
||||||
|
mod-tidy-check:
|
||||||
|
executor: golang
|
||||||
|
steps:
|
||||||
|
- prepare-git-checkout
|
||||||
|
- go/mod-download
|
||||||
|
- go/mod-tidy-check
|
||||||
|
gofmt-check:
|
||||||
|
executor: golang
|
||||||
|
steps:
|
||||||
|
- prepare-git-checkout
|
||||||
|
- go/mod-download
|
||||||
|
- run: "! go fmt ./... 2>&1 | read"
|
||||||
|
lint-check:
|
||||||
|
executor: golang
|
||||||
|
steps:
|
||||||
|
- prepare-git-checkout
|
||||||
|
- install-build-dependencies
|
||||||
|
- go/mod-download
|
||||||
|
- go/install-golangci-lint:
|
||||||
|
gobin: $HOME/.local/bin
|
||||||
|
version: 1.23.8
|
||||||
|
- run:
|
||||||
|
command: $HOME/.local/bin/golangci-lint run -v --concurrency 2
|
||||||
|
workflows:
|
||||||
|
version: 2.1
|
||||||
|
build_and_test:
|
||||||
|
jobs:
|
||||||
|
- mod-tidy-check
|
||||||
|
- lint-check
|
||||||
|
- gofmt-check
|
||||||
|
- test
|
16
README.md
Normal file
16
README.md
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
# sector-storage
|
||||||
|
|
||||||
|
[![](https://img.shields.io/badge/made%20by-Protocol%20Labs-blue.svg?style=flat-square)](http://ipn.io)
|
||||||
|
[![CircleCI](https://circleci.com/gh/filecoin-project/sector-storage.svg?style=svg)](https://circleci.com/gh/filecoin-project/sector-storage)
|
||||||
|
[![standard-readme compliant](https://img.shields.io/badge/standard--readme-OK-green.svg?style=flat-square)](https://github.com/RichardLitt/standard-readme)
|
||||||
|
|
||||||
|
> a concrete implementation of the [specs-storage](https://github.com/filecoin-project/specs-storage) interface
|
||||||
|
|
||||||
|
The sector-storage project provides a implementation-nonspecific reference implementation of the [specs-storage](https://github.com/filecoin-project/specs-storage) interface.
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
The Filecoin Project is dual-licensed under Apache 2.0 and MIT terms:
|
||||||
|
|
||||||
|
- Apache License, Version 2.0, ([LICENSE-APACHE](https://github.com/filecoin-project/sector-storage/blob/master/LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
|
||||||
|
- MIT license ([LICENSE-MIT](https://github.com/filecoin-project/sector-storage/blob/master/LICENSE-MIT) or http://opensource.org/licenses/MIT)
|
@ -53,7 +53,7 @@ func NewMockSectorMgr(threads int, ssize abi.SectorSize) *SectorMgr {
|
|||||||
const (
|
const (
|
||||||
statePacking = iota
|
statePacking = iota
|
||||||
statePreCommit
|
statePreCommit
|
||||||
stateCommit
|
stateCommit // nolint
|
||||||
)
|
)
|
||||||
|
|
||||||
type sectorState struct {
|
type sectorState struct {
|
||||||
|
82
parameters.json
Normal file
82
parameters.json
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
{
|
||||||
|
"v24-proof-of-spacetime-election-PoseidonHasher-0b0b9781bcb153efbb3cab4be3a792c4f555d4ab6f8dd62b27e1dcad08a34f22.params": {
|
||||||
|
"cid": "QmUonpeUaLD6G4byFdZAMzwXorD4Qs1XDjmdXFbWYCgvjW",
|
||||||
|
"digest": "19e50903e53c826ff66f360283f324c1",
|
||||||
|
"sector_size": 34359738368
|
||||||
|
},
|
||||||
|
"v24-proof-of-spacetime-election-PoseidonHasher-0b0b9781bcb153efbb3cab4be3a792c4f555d4ab6f8dd62b27e1dcad08a34f22.vk": {
|
||||||
|
"cid": "QmVXv4Q1T3FbiY5AUgWER11Lsrby9aUVJy2mgWDWrndFbq",
|
||||||
|
"digest": "223dd87c6161c45daf448ca9eda28298",
|
||||||
|
"sector_size": 34359738368
|
||||||
|
},
|
||||||
|
"v24-proof-of-spacetime-election-PoseidonHasher-0b499a953f1a9dcab420b3ba1e6b1f3952dc7f17cf67ed10406ae9a43e2b8ec5.params": {
|
||||||
|
"cid": "Qmea7VsrYnkrpdMnutkGKppX5finoDwCA2fP5Zg5bDuBQw",
|
||||||
|
"digest": "3de5b8738a2cd933c214fa2023e30909",
|
||||||
|
"sector_size": 8388608
|
||||||
|
},
|
||||||
|
"v24-proof-of-spacetime-election-PoseidonHasher-0b499a953f1a9dcab420b3ba1e6b1f3952dc7f17cf67ed10406ae9a43e2b8ec5.vk": {
|
||||||
|
"cid": "QmavFXmf3jeacHKB6HoJH3gUqzmKnsDn5F5HSYfwPbDHRu",
|
||||||
|
"digest": "485b7eab4f70031fdda4eaeccfe4f26e",
|
||||||
|
"sector_size": 8388608
|
||||||
|
},
|
||||||
|
"v24-proof-of-spacetime-election-PoseidonHasher-27a7fc680a47e4821f40cf1676fb80b9888820ef6867a71a175b4c9ae068ad3f.params": {
|
||||||
|
"cid": "QmQrUjB9NSMuThe1JHoHfC7u1xdoLS6WLu15waWcnZ3tQT",
|
||||||
|
"digest": "7e6adc7cbf73db8c95a54e3c23bea1ae",
|
||||||
|
"sector_size": 536870912
|
||||||
|
},
|
||||||
|
"v24-proof-of-spacetime-election-PoseidonHasher-27a7fc680a47e4821f40cf1676fb80b9888820ef6867a71a175b4c9ae068ad3f.vk": {
|
||||||
|
"cid": "QmVPPk4fBcEero2GHsYuBoh97yhugTBWUp9yWSPPWjRWQ7",
|
||||||
|
"digest": "952b352d694d650e912b3b92ad63f7c9",
|
||||||
|
"sector_size": 536870912
|
||||||
|
},
|
||||||
|
"v24-proof-of-spacetime-election-PoseidonHasher-5916054ae98e28fc2f0470d1fb58eb875a6865be86f0b8c4e302d55f13217fef.params": {
|
||||||
|
"cid": "QmSXMF85mdGLQfAY98zVL4dUBpGPFFUPDmFzdc1NZrVFdh",
|
||||||
|
"digest": "a93de0f8cfb04af5d21f66ef48ee59a8",
|
||||||
|
"sector_size": 2048
|
||||||
|
},
|
||||||
|
"v24-proof-of-spacetime-election-PoseidonHasher-5916054ae98e28fc2f0470d1fb58eb875a6865be86f0b8c4e302d55f13217fef.vk": {
|
||||||
|
"cid": "QmaTsAmbdnQtJoSpkWsXmvHPpMJinzFYTe6t5LLm7w5RtQ",
|
||||||
|
"digest": "e4d0575f119e3e7b42bc3e5b6bb35a0b",
|
||||||
|
"sector_size": 2048
|
||||||
|
},
|
||||||
|
"v24-stacked-proof-of-replication-PoseidonHasher-Sha256Hasher-49442c8ce7545579cbd689d578301d0cc1e46e94e2499a0ec36de7ff4f4694a2.params": {
|
||||||
|
"cid": "QmYCFrU4G2LakPngFXayX7afyondQbB9hfnVRz1ffWD9MS",
|
||||||
|
"digest": "d64e5d1bbb9120bea4c0cd8cdcdfb834",
|
||||||
|
"sector_size": 8388608
|
||||||
|
},
|
||||||
|
"v24-stacked-proof-of-replication-PoseidonHasher-Sha256Hasher-49442c8ce7545579cbd689d578301d0cc1e46e94e2499a0ec36de7ff4f4694a2.vk": {
|
||||||
|
"cid": "QmfXAPtHKU2MJVJDwLTUCM4W2tYQ8biGq9cZaAnjtaZidZ",
|
||||||
|
"digest": "572536e8684454a5cd80361e5c952b38",
|
||||||
|
"sector_size": 8388608
|
||||||
|
},
|
||||||
|
"v24-stacked-proof-of-replication-PoseidonHasher-Sha256Hasher-d84aa4581c74190f845596893ebe5b71da32ecf16e1d151b9fff74ee8f94d77c.params": {
|
||||||
|
"cid": "QmdXtQsLbBFmVxrd6kWKr2FYbQfhEdR6PinwrGBXhHmLdT",
|
||||||
|
"digest": "77cfafee088bd59411d766621df6de42",
|
||||||
|
"sector_size": 536870912
|
||||||
|
},
|
||||||
|
"v24-stacked-proof-of-replication-PoseidonHasher-Sha256Hasher-d84aa4581c74190f845596893ebe5b71da32ecf16e1d151b9fff74ee8f94d77c.vk": {
|
||||||
|
"cid": "QmdE8oZJofaenThLi2TWXJPk9cExZgTA36TjrHeAC65BGA",
|
||||||
|
"digest": "30586a2396ef6b60b122ac5a2ba87681",
|
||||||
|
"sector_size": 536870912
|
||||||
|
},
|
||||||
|
"v24-stacked-proof-of-replication-PoseidonHasher-Sha256Hasher-fc32be6028c2398175466f36fa36810842ae8948fae15c84454af5b61ca99e15.params": {
|
||||||
|
"cid": "QmNqcqGxf7pJjipHNwcH44D5KgiTUNo3mK5HiSxBwYcjkx",
|
||||||
|
"digest": "25ea39db2a003c817113f6f2ea936b3d",
|
||||||
|
"sector_size": 34359738368
|
||||||
|
},
|
||||||
|
"v24-stacked-proof-of-replication-PoseidonHasher-Sha256Hasher-fc32be6028c2398175466f36fa36810842ae8948fae15c84454af5b61ca99e15.vk": {
|
||||||
|
"cid": "QmWiaqy8hWshv2FsLDoZAtpJKZng5QN3x2X5C7xsPvSbFb",
|
||||||
|
"digest": "ab1239c802c480cf12f63d13fb2f620a",
|
||||||
|
"sector_size": 34359738368
|
||||||
|
},
|
||||||
|
"v24-stacked-proof-of-replication-PoseidonHasher-Sha256Hasher-fe437922fe766f61b112750506d6be0e4ad5daa85ff9ce96549d99253ba61cbe.params": {
|
||||||
|
"cid": "QmbPk3fKKLjkm6pD1CzwGyTnMwNSSZVxVSMWEceqSv6LDW",
|
||||||
|
"digest": "76bd3702312cfe0d69bb5e0891c52615",
|
||||||
|
"sector_size": 2048
|
||||||
|
},
|
||||||
|
"v24-stacked-proof-of-replication-PoseidonHasher-Sha256Hasher-fe437922fe766f61b112750506d6be0e4ad5daa85ff9ce96549d99253ba61cbe.vk": {
|
||||||
|
"cid": "QmPZ9bGSVs5GHQRRAtC1qv9eQ7GPoH8FWukjxAXtXXcTxg",
|
||||||
|
"digest": "4edb21b7b6d5787b646f3e336e06303e",
|
||||||
|
"sector_size": 2048
|
||||||
|
}
|
||||||
|
}
|
@ -192,7 +192,7 @@ var ResourceTable = map[sealtasks.TaskType]map[abi.RegisteredProof]Resources{
|
|||||||
MinMemory: 1 << 11,
|
MinMemory: 1 << 11,
|
||||||
|
|
||||||
MultiThread: false,
|
MultiThread: false,
|
||||||
CanGPU: true,
|
CanGPU: true,
|
||||||
|
|
||||||
BaseMinMemory: 1 << 11,
|
BaseMinMemory: 1 << 11,
|
||||||
},
|
},
|
||||||
@ -201,7 +201,7 @@ var ResourceTable = map[sealtasks.TaskType]map[abi.RegisteredProof]Resources{
|
|||||||
MinMemory: 1 << 23,
|
MinMemory: 1 << 23,
|
||||||
|
|
||||||
MultiThread: false,
|
MultiThread: false,
|
||||||
CanGPU: true,
|
CanGPU: true,
|
||||||
|
|
||||||
BaseMinMemory: 1 << 23,
|
BaseMinMemory: 1 << 23,
|
||||||
},
|
},
|
||||||
|
@ -11,7 +11,7 @@ import (
|
|||||||
logging "github.com/ipfs/go-log/v2"
|
logging "github.com/ipfs/go-log/v2"
|
||||||
)
|
)
|
||||||
|
|
||||||
var log = logging.Logger("tarutil")
|
var log = logging.Logger("tarutil") // nolint
|
||||||
|
|
||||||
func ExtractTar(body io.Reader, dir string) error {
|
func ExtractTar(body io.Reader, dir string) error {
|
||||||
if err := os.MkdirAll(dir, 0755); err != nil {
|
if err := os.MkdirAll(dir, 0755); err != nil {
|
||||||
@ -73,7 +73,7 @@ func writeTarDirectory(dir string, w io.Writer) error {
|
|||||||
return xerrors.Errorf("wiritng header for file %s: %w", file.Name(), err)
|
return xerrors.Errorf("wiritng header for file %s: %w", file.Name(), err)
|
||||||
}
|
}
|
||||||
|
|
||||||
f, err := os.OpenFile(filepath.Join(dir, file.Name()), os.O_RDONLY, 644)
|
f, err := os.OpenFile(filepath.Join(dir, file.Name()), os.O_RDONLY, 644) // nolint
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return xerrors.Errorf("opening %s for reading: %w", file.Name(), err)
|
return xerrors.Errorf("opening %s for reading: %w", file.Name(), err)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user