สวัสดีครับ ในบทความนี้ผมจะอธิบายการใช้งาน IPFS ด้วย Docker ซึ่งการใช้งาน IPFS ด้วย Docker นั้นเป็นแนวทางนึงในการใช้งาน IPFS สําหรับใครที่อยากจะติดตั้งบนเครื่องก็สามารถอ่านเพิ่มเติมได้จาก Document ของ IPFS ได้เลยครับ แต่โดยส่วนตัวของผมนั้น ผมชอบที่จะใช้ผ่าน Docker เนื่องจากไม่ต้องติดตั้ง IPFS บนเครื่องของเรา ถ้าใครยังไม่รู้จัก Docker สามารถไปอ่านบนความเก่าๆได้ครับที่นี่ https://thiti.dev/tag/docker
เริ่มทําตามไปที่ละ Step นะครับ
เราจะใช้ Docker image จาก hub.docker.com/r/ipfs/go-ipfs นะครับ
Start container ด้วยคําสั่งนี้
docker run -d --name ipfs_host -v <Your export directory>:/export -v <Your ipfs data directory>:/data/ipfs -p 4001:4001 -p 127.0.0.1:8080:8080 -p 127.0.0.1:5001:5001 ipfs/go-ipfs:latest
เปลี่ยน <Your export directory> และ <Your ipfs data directory> เป็น Directory ตามต้องการ
ตัวอย่าง
docker run -d --name ipfs_host -v /home/thiti/export:/export -v /home/thiti/ipfs:/data/ipfs -p 4001:4001 -p 127.0.0.1:8080:8080 -p 127.0.0.1:5001:5001 ipfs/go-ipfs:latest
จะพบว่ามี Docker Container ชื่อ ipfs_host รันขึ้นมา โดยมี Daemon ของ IPFS รันอยู่ภายใน
ให้ตรวจสอบ log ของ IPFS ว่าพร้อมใช้งานหรือยังด้วยคําสั่ง
docker logs -f ipfs_host
รอจนกว่าจะขึ้นประมาณนี้ แสดงว่า IPFS พร้อมใช้งานแล้ว
Gateway (readonly) server
listening on /ip4/0.0.0.0/tcp/8080
หลังจากนี้เมื่อต้องการใช้งาน IPFS ก็จะเรียกใช้งานผ่าน ipfs_host ครับ
Copy File ที่ต้องการไปไว้ใน Directory export (Directory ที่เรา map volume ไว้ตอน Run Docker container)
เพิ่มไฟล์ที่ต้องการเข้าไปยัง IPFS Network โดยใช้คําสั่งตามนี้
docker exec ipfs_host ipfs add /export/<Your file name>
หรือถ้าต้องการเพิ่มทั้ง Directory ก็ใส่ “-r” ตามนี้ครับ
docker exec ipfs_host ipfs add -r /export/<Your directory name>
File ของคุณจะ Online และ IPFS จะแสดงค่า Hash ของ File ขึ้นมา ประมาณนี้
โดยคุณสามารถเข้าถึงไฟล์ด้วยค่า Hash ดังกล่าวผ่านทาง Url นี้
https://ipfs.io/ipfs/<Your hash>
ตัวอย่าง ipfs.io/ipfs/QmVPv5MTWK5k9wbDZcD2LTKzgcpCbnRB3RBNvN4AcZx2VL
เท่านี้ไฟล์ของคุณก็จะคนอยู่ใน IPFS Network เป็นที่เรียบร้อย
File ที่ถูกเพิ่มเข้าไป จะยัง Online อยู่เสมอตามใดที่เครื่องยังเปิดอยู่ หรือมีคนสนใจไฟล์นี้ และ Pin ไฟล์นี้ไว้
คําสั่งสําหรับ Check ubuntu version คือ
สวัสดีครับ ในบทความนี้จะมีเนื้อหาการใช้งาน Function ในภาษา JavaScript และ TypeScript ที่จะช่วยให้เราสามารถจัดการข้อมูลใน Array ได้ง่ายขึ้นมากๆ ตัวอย่างเช่น Filter ข้อมูล, รวมข้อมูล, Loop ข้อมูล, เพิ่มข้อมูล, ลบข้อมูล ฯลฯ
Storage Class คือ สิ่งที่ใช้กําหนดขอบเขตของตัวแปรว่าจะให้ใครสามารถเข้ามาเรียกใช้งานได้บ้าง และยังสามารถกําหนดระยะเวลาว่าจะให้โปรแกรมเก็บค่าของตัวแปรนั้นไว้นานเท่าไรได้ด้วย Storage Class แบ่งออกเป็น 4 ประเภท คือ