Code Monkey home page Code Monkey logo

cess's People

Contributors

0xbillw avatar abiiiin avatar astafrode avatar bytestocker avatar democ98 avatar heyworld88 avatar jimmychu0807 avatar jiuquxzy avatar lanmeng656 avatar omahs avatar onionhon avatar shakawwq avatar swowk avatar thirteenggh avatar xingyu951 avatar yeousunn avatar ytqaljn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cess's Issues

CESS pallet-sminer

Hi there, I am a cess fan and watched the last week's CESS technology presentation. The speaker has shared a lot of information about CESS how to develop on the substrate at that moment. The best point that makes me interesting is CESS created a pallet of sminer in the substrate.

Multi-sig solution

@tehsunnliu @ytqaljn

Without using any external solutions, the following demonstrate the default multi-sig UX in Polkadot. Is that enough for our use case?

We need to integrate pallet_multisig and pallet_proxy in CESS runtime, as shown in the Substrate codebase to use multi-sig feature.

Is this enough for our use case?


If not, I also found two nice solutions on creating multi-sig account in Substrate chain:

  1. Multix

  2. PolkaSafe

To use the above two solutions, there is probably some integration work need to be done.

issues about random challenge

It happens that, the verification life cycle of random challenges are smaller than the computational proof cycle.

SBP: Off-chain worker configuration

The use of off-chain worker for fetching the storage price should improved taking into consideration how they work and when they are executed.

Some context about things to pay attention to when using off-chain workers:

cess tools rotate-keys: output is NULL

I tried to run an consensus node. All looks fine but when I try to retrieve the keys, the output is NULL. I have bonded 3M Cess with a secondary controller account with 200cess. The node is synchronising with succes also. I don’t know what the problem can be. I attached the config settings also.
IMG_0051

The size of hard disk space

I have a question when I want put my database to the hard disk space, I have no idea what is the size of the hard disk space is appropriate for my database?

Update Document for c-pallets

I have observed that some of the pallets in the c-pallets directory are missing readme, which has caused difficulties for developers to understand the code.

If someone in the team can fill in these documents, it will be of great help to me.

SBP: Review all your hashers in storage

I noticed that you are using Twox64Concat by default for all your StorageMap keys. Be aware of the potential issues of choosing the incorrect hasher.

From: https://docs.substrate.io/v3/advanced/cryptography/#xxhash

Because xxHash is not cryptographically secure, it is possible that the output of the hash algorithm can be reasonably controlled by modifying the input. This can allow a user to attack this algorithm by creating key collisions, hash collisions, and imbalanced storage tries.
xxHash is used in places where outside parties cannot manipulate the input of the hash function. For example, it is used to generate the key for runtime storage values, whose inputs are controlled by the runtime developer.

For those keys that are under the user's control, Blake2 should be used instead.

E.g: File name is under user's control
https://github.com/CESSProject/cess/blob/main/c-pallets/file-bank/src/lib.rs#L258

Issues about data chunk during challenge process

When I study the challenge process of cess, I noticed that when challenging data, data blocks are formed by dividing the fragments into smaller chunks. Why data is chllenged in forms of chunk rather than data fragments, what's the point of this design?

SBP: Benchmarks

Improve benchmarks for file-bank and replace the fixed weights

"✘ Network kaleido Error" While starting Consens Miner.

Hi, while trying to start the consensus miner I'm getting the below error

:~$ sudo cess start
[+] Running 1/0
 ✘ Network kaleido  Error                                                                                                                0.0s 
failed to create network kaleido: Error response from daemon: Pool overlaps with other one on this address space

This is CESS version I'm using

:~$ docker network ls
Node mode: authority
Profile: testnet
nodeadm version: v0.4.4
Docker images:
  config-gen: config-gen 1.4.6 20227e510d85
  chain: cess-node 0.7.4-unknown 85c1d88b3bf8
  kld-agent: kaleido-rotator 0.2.6-testnet af22e54a4e68
  kld-sgx: kaleido 0.2.5-testnet c9f0ee9f5934

And the docker networks

:~$ sudo docker network ls
NETWORK ID     NAME                 DRIVER    SCOPE
522fcb73380e   bridge               bridge    local
0777207ffbef   host                 host      local
07a35af1dd56   none                 null      local

My config file

{
  "node": {
    "mode": "authority",
    "externalIp": "45.77.47.184",
    "domainName": "",
    "chainWsUrl": "ws://127.0.0.1:9944",
    "profile": "testnet",
    "backupChainWsUrls": [
      "wss://testnet-rpc0.cess.cloud/ws/",
      "wss://testnet-rpc1.cess.cloud/ws/"
    ],
    "kldSgxImageId": ""
  },
  "chain": {
    "name": "Ginger-718599",
    "port": 30336
  },
  "kaleido": {
    "agentPort": 10010,
    "kaleidoPort": 4001,
    "bootPeerIds": "12D3KooWAdyc4qPWFHsxMtXvSrm7CXNFhUmKPQdoXuKQXki69qBo,12D3KooWLtpEaPbJhTyC8qoRp8PrjHy4ou7TCSY3XEtzNsh4Jatb,12D3KooWHY6BRu2MtG9SempACgYCcGHRSEai2ZkWY3E4VKDYrqh9",
    "stashAccount": "cXkMzNVe1TC8ju1bUuxazHPM2jyuz8Ei2xQdXk5zWWANV7mz5",
    "controllerPhrase": "december ... marine",
    "allowLogCollection": true,
    "bootDnsaddr": "/dnsaddr/boot-kldr-testnet.cess.cloud"
  }
}

extra fee

when I run the storage mining tool to submit the proofs, only submit one proof per transaction, which will easily cause congestion and extra fees.

Only 2 Miners assigned for Large Files.

Hi, recently I've noticed that when I upload small files all the time 3 miners are assigned to store the file segments. However, in case of larger files like 1GiB, only 2 miners are assigned. Why is this so?

Below is the FID of the file with 2 assigned miners.
FID: 2b15b2919269b6ee2685e492a907f6aea76fddd232966c577dac6bc959d72d8c

Add account

Hi, I have a question about the account, how do I add my own account when I join a node in the cess chain? what is the exactly way?

SBP: `UnitPrice` issues

  • UnitPrice value should be able to be set from genesis or have a default value. If for some reason OCW http request fails, UnitPrice would default to 0.
  • Conditions to fetch price should be modified. In case the first http request fails or it retrieves a wrong value, offchain_fetch_price() will not be run until the next day. Some conditions should be added to automatically check if the retrieved price is under some limits or otherwise to fallback to some default value or perform the http request again. Make sure the results the OCWs generate are validated on-chain (and not assumed to be valid).
  • update_price() is an unsigned dispatchable. Anyone could call to this method and modify the price: https://github.com/CESSProject/cess/blob/main/c-pallets/file-bank/src/lib.rs#L603-L607

cess reconfig issue

I have a server, because I didn't have enough TCESS to stake 8000G of storage a few days ago, I initially staked 2000G with 8000 TCESS.
But now I've received enough TCESS, and I want to reconfigure and increase bucket.space to 8000G.
However, when I try
cess stop
cess config set
cess start

I encounter an issue.
Even though cess config show shows that bucket.space has been increased to 8000, but the funds in my wallet haven't changed at all, 'reserved' is still at 8000

Feedback from Polkadot Blockchain Academy (CESS Sharing 240122)

In Polkadot Blockchain Academy CESS sharing, I met with students with following feedback:

  1. Talked to a student in healthcare industry. They care a lot about the patient record privacy. There is a policy that the record is only kept for a certain period (say 180 days) and afterward have it deleted. Can we have a Proof of Deletion that certain user data has been deleted?
  2. This request is related to the above. To fulfill Europe GDPR policy, the website/app owner has to confirm user data is removed when the user data is expired. Is it possible to set the lifetime of the data (like 90 days), and when the lifetime of the data is reached, the data is deleted and generate a proof for that?
  3. CDN is a hard problem to solve it well, as you need to setup edges globally. Firms like Akamai have poured billions of dollars in building a good CDN network. Will you consider experimenting/leveraging the existing (centralized) CDN solutions in building your CDN layer?

bucket error log: [cess.New] json: cannot unmarshal number into Go struct field SysProperties.Ss58Format of type types.Bytes

my cess bucket report and restarting:
++ 2023-10-07 04:23:11 Rpc addresses: [ws://127.0.0.1:9944 wss://testnet-rpc0.cess.cloud/ws/ wss://testnet-rpc1.cess.cloud/ws/]
++ 2023-10-07 04:23:11 Bootnodes: [_dnsaddr.boot-kldr-testnet.cess.cloud]
XX 2023-10-07 04:23:11 [cess.New] json: cannot unmarshal number into Go struct field SysProperties.Ss58Format of type types.Bytes

I tried the following but still no solution:
cess stop
cess down
cess purge
cess profile testnet
cess config set
############################
cess status
NAMES STATUS
chain Up 47 minutes
watchtower Up 52 minutes (healthy)
bucket Restarting (1) 38 seconds ago
############################
cess bucket stat
XX 2023-10-07 04:32:30 json: cannot unmarshal number into Go struct field SysProperties.Ss58Format of type types.Bytes
############################
cess config show
{
"node": {
"mode": "storage",
"externalIp": "",
"domainName": "",
"chainWsUrl": "ws://127.0.0.1:9944",
"profile": "testnet",
"backupChainWsUrls": [
"wss://testnet-rpc0.cess.cloud/ws/",
"wss://testnet-rpc1.cess.cloud/ws/"
]
},
"chain": {
"name": "cess",
"port": 30336
},
"bucket": {
"port": 15001,
"space": 2000,
"incomeAccount": "cXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"signPhrase": "XXXX foam edit XXXXX stumble XXXXX void XXXXX orphan XXXXX embrace XXXX",
"diskPath": "/data4/cess",
"bootAddr": "_dnsaddr.boot-kldr-testnet.cess.cloud"
}
}
############################
I have disabled ipv6,network is ok
$ ping testnet-rpc0.cess.cloud
PING testnet-rpc0.cess.cloud (104.21.59.6) 56(84) bytes of data.
64 bytes from 104.21.59.6 (104.21.59.6): icmp_seq=1 ttl=60 time=0.767 ms
64 bytes from 104.21.59.6 (104.21.59.6): icmp_seq=2 ttl=60 time=0.684 ms
^C
--- testnet-rpc0.cess.cloud ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 0.684/0.725/0.767/0.041 ms
$ ping testnet-rpc1.cess.cloud
PING testnet-rpc1.cess.cloud (172.67.167.97) 56(84) bytes of data.
64 bytes from 172.67.167.97 (172.67.167.97): icmp_seq=1 ttl=60 time=0.708 ms
64 bytes from 172.67.167.97 (172.67.167.97): icmp_seq=2 ttl=60 time=0.718 ms
############################
system info:
Ubuntu 22.04.3 LTS
5.15.0-86-generic

docker info:
Client: Docker Engine - Community
Version: 24.0.6
API version: 1.43
Go version: go1.20.7
Git commit: ed223bc
Built: Mon Sep 4 12:31:44 2023
OS/Arch: linux/amd64
Context: default

Server: Docker Engine - Community
Engine:
Version: 24.0.6
API version: 1.43 (minimum version 1.12)
Go version: go1.20.7
Git commit: 1a79695
Built: Mon Sep 4 12:31:44 2023
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.24
GitCommit: 61f9fd88f79f081d64d6fa3bb1a0dc71ec870523
runc:
Version: 1.1.9
GitCommit: v1.1.9-0-gccaecfc
docker-init:
Version: 0.19.0
GitCommit: de40ad0

cess info:
Node mode: storage
Profile: testnet
nodeadm version: v0.4.4
Docker images:
config-gen: config-gen 1.4.6 20227e510d85
chain: cess-node 0.7.0-unknown d7bc4ab3739a
bucket: bucket v0.7.1 c2160c94f3b7

issues about storage miner's debt

Possible Solution: When miners are in a debt situation, the additional pledge from the debt portion will be added to the bonus poo
Status: on-going

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.