當(dāng)前位置:首頁 > 物聯(lián)網(wǎng) > 區(qū)塊鏈
[導(dǎo)讀] 在這一周中,在構(gòu)建LightWork Web應(yīng)用程序的第一個(gè)版本時(shí),我遇到了一些架構(gòu)問題,主要與處理ln節(jié)點(diǎn)和我的Web應(yīng)用程序之間的bolt11發(fā)票(core to ln)有關(guān)。在經(jīng)歷了(大部

在這一周中,在構(gòu)建LightWork Web應(yīng)用程序的第一個(gè)版本時(shí),我遇到了一些架構(gòu)問題,主要與處理ln節(jié)點(diǎn)和我的Web應(yīng)用程序之間的bolt11發(fā)票(core to ln)有關(guān)。在經(jīng)歷了(大部分)這些障礙之后,我想我會(huì)寫一些關(guān)于開發(fā)一個(gè)由LN驅(qū)動(dòng)的應(yīng)用程序以及如何減少大家在開發(fā)時(shí)遇到的主要障礙。

應(yīng)用程序棧

現(xiàn)在大多數(shù)應(yīng)用程序通常分為兩個(gè)主要部分:客戶端和服務(wù)器。例如,客戶端可以是移動(dòng)應(yīng)用程序或JavaScript SPA,服務(wù)器可以由NodeJS / Go / Rust后端組成,后端主要是基于RESTful或GraphQL的API

為應(yīng)用程序添加Lightning Network支持,通常會(huì)向應(yīng)用程序堆棧引入兩個(gè)部分:比特幣節(jié)點(diǎn)和Lightning Network節(jié)點(diǎn)。

對(duì)于比特幣,有幾個(gè)節(jié)點(diǎn)實(shí)現(xiàn)可供使用,其中兩個(gè)最廣泛接受的方式是:

· 比特幣核心-比特幣

· BTCD-BTCD

根據(jù)社區(qū)共識(shí)、網(wǎng)絡(luò)上活動(dòng)節(jié)點(diǎn)的數(shù)量以及各自代碼存儲(chǔ)庫的維護(hù)統(tǒng)計(jì),很明顯比特幣核心是最廣泛使用和維護(hù)更好——也是我們將要使用的方式。

在Lightning Network方面,有(目前)三個(gè)兼容的客戶端都遵循相同的BOLT規(guī)范:

1. C-Lightning(用C編寫)

2. LND(用Go編寫)

3. Eclair(用Scala編寫)

你應(yīng)該評(píng)估每個(gè)客戶端,并決定那個(gè)是對(duì)你最有意義。我以前曾親自使用過C-Lightning和LND,但也聽說過有關(guān)ECLAir客戶的很多事情。對(duì)于lightwork,我決定使用lnd,因?yàn)樗峁┝艘粋€(gè)友好易用的grpc/rest api,以及現(xiàn)成的Neutrino light客戶端支持(現(xiàn)在是testnet)。

是時(shí)候啟動(dòng)和運(yùn)行節(jié)點(diǎn)了。

比特幣核心設(shè)置

當(dāng)前的比特幣主網(wǎng)區(qū)塊鏈大約有260GB的數(shù)據(jù),挖掘了約55萬個(gè)區(qū)塊。由于我們的lnd節(jié)點(diǎn)依賴于訪問底層鏈來打開和關(guān)閉通道事務(wù),因此在本地機(jī)器/筆記本電腦上運(yùn)行一個(gè)完整的節(jié)點(diǎn)似乎是一項(xiàng)巨大的任務(wù)。這不僅是1/4TB的數(shù)據(jù),而且完全同步還需要幾個(gè)小時(shí)(取決于您的連接,可能需要幾天時(shí)間)。

比特幣也有一個(gè)testnet3網(wǎng)絡(luò),允許開發(fā)者在不影響主網(wǎng)的情況下測試新功能和對(duì)協(xié)議的更改。這對(duì)于開發(fā)人員在比特幣上構(gòu)建應(yīng)用程序和服務(wù)也很好,因?yàn)楸忍貛拍軌蚴褂脽o價(jià)值的TestNet BTC幣測試端到端的流量。測試網(wǎng)的容量較小大約25GB和大約有144000個(gè)區(qū)塊。如果您所要做的只是處理與閃電網(wǎng)絡(luò)接口的應(yīng)用程序,那么同步testnet3仍然是一個(gè)很大的障礙。這就是為什么比特幣核心給了我們另一個(gè)網(wǎng)絡(luò),這一個(gè)叫regtest(simnet為btcd用戶)。

RegTest是區(qū)塊鏈的一個(gè)測試應(yīng)用版本,考慮到它的唯一目的是允許在協(xié)議上進(jìn)行更快的開發(fā),作為該節(jié)點(diǎn)的管理員,您可以即時(shí)地挖掘任意多個(gè)區(qū)塊。我在開發(fā)時(shí)使用了我的regtest網(wǎng)絡(luò),只占用了大約37MB容量。這更符合我們想要的。

安裝比特幣核心節(jié)點(diǎn)

以下說明用于在MacOS系統(tǒng)上運(yùn)行比特幣。

如果您還沒有安裝,請(qǐng)運(yùn)行以下命令在您的環(huán)境中安裝比特幣核心:

curl -O https://bitcoin.org/bin/bitcoin-core-0.17.0/bitcoin-0.17.0-osx64.tar.gz

如果您熟悉PGP,還建議您檢查發(fā)布的簽名哈希:01EA 5486 DE18 A882 D4C2 6845 90C8 019E 36C2 E964

現(xiàn)在,您可以使用以下方法打開tarball:

tar -zxf bitcoin-0.17.0-osx64.tar.gz

隨后使用以下方法使bitcoind二進(jìn)制文件可用:

sudo mkdir -p /usr/local/bin

sudo cp bitcoin-0.17.0/bin/bitcoin* /usr/local/bin/

刪除文件,您可以刪除下載的文件夾:

rm -rf bitcoin-0.17.0*

您現(xiàn)在應(yīng)該可以完全訪問計(jì)算機(jī)上的bitcoind和bitcoin-cli命令。

節(jié)點(diǎn)配置

比特幣核心完整節(jié)點(diǎn)有許多配置選項(xiàng),因此每次運(yùn)行二進(jìn)制文件時(shí),不要在命令行上傳遞所有這些參數(shù),建議您使用bitcoin.conf配置文件。

有關(guān)bitcoind支持的所有命令的列表,請(qǐng)運(yùn)行bitcoind --help。

下面是一個(gè)配置文件示例,其中包含運(yùn)行regtest節(jié)點(diǎn)(并連接到LND節(jié)點(diǎn))的(必要)參數(shù):

# Daemon Options

server=1

# Network OpTIons

regtest=1

# RPC OpTIons

rpcport=8332

rpcuser=USERNAME_HERE

rpcpassword=PASSWORD_HERE

# ZMQ OpTIons

zmqpubrawblock=tcp://127.0.0.1:28332

zmqpubrawtx=tcp://127.0.0.1:28333

為了簡單起見,您可以在完整節(jié)點(diǎn)在系統(tǒng)中創(chuàng)建的主比特幣文件夾中創(chuàng)建bitcoin.conf文件。在macOS系統(tǒng)中,該文件夾位于?/ Library / ApplicaTIon Support / Bitcoin。

記下您選擇的RPC用戶名和密碼,因?yàn)槲覀冊(cè)贚ND節(jié)點(diǎn)配置期間需要它。

然后,您可以運(yùn)行以下步驟進(jìn)入同一個(gè)Bitcoin目錄,并使用新創(chuàng)建的配置文件啟動(dòng)節(jié)點(diǎn)守護(hù)程序:

cd ~/Library/Application Support/Bitcoin

bitcoind -datadir=。/ -conf=。/bitcoin.conf

您應(yīng)該看到類似于的輸出:

在單獨(dú)的終端窗口中,您可以運(yùn)行bitcoin-cli getblockchaininfo,您將看到來自regtest比特幣鏈的最新數(shù)據(jù)集,包括當(dāng)前塊高度,難度級(jí)別和磁盤大小。有關(guān)bitcoin-cli命令的完整列表,請(qǐng)運(yùn)行bitcoin-cli --help。

當(dāng)您第一次運(yùn)行bitcoind時(shí),它會(huì)自動(dòng)為您創(chuàng)建一個(gè)錢包。所以在這一點(diǎn)上,任何通過采礦獎(jiǎng)勵(lì)獲得的BTC都將被發(fā)送到這個(gè)錢包。為了挖掘regtest塊,只需運(yùn)行bitcoin-cli就可以生成100,其中100是要挖掘的區(qū)塊數(shù)。如果您運(yùn)行bitcoin-cli getwalletinfo,您現(xiàn)在將擁有“余額”下的值。這些是regtest BTC硬幣,非常適合測試Lightning Network應(yīng)用程序?,F(xiàn)在我們已經(jīng)運(yùn)行了比特幣核心守護(hù)程序并且我們知道如何挖掘regtest塊,現(xiàn)在是時(shí)候設(shè)置我們的LND節(jié)點(diǎn)了。

LND節(jié)點(diǎn)設(shè)置

要連接到閃電網(wǎng)絡(luò),您只需要一個(gè)連接到底層鏈的LND節(jié)點(diǎn)。但是為了可以向網(wǎng)絡(luò)周圍發(fā)送資金,您必須有另一個(gè)節(jié)點(diǎn)發(fā)送到或請(qǐng)求。一種方法是將具有不同比特幣核心和LND節(jié)點(diǎn)的多個(gè)VPS盒旋轉(zhuǎn)起來,然后在兩個(gè)VPS盒之間打開通道。另一個(gè)更簡單的方法是讓多個(gè)LND實(shí)例在您的機(jī)器上運(yùn)行,連接到一個(gè)您完全控制的比特幣regtest節(jié)點(diǎn)。用戶可以在單個(gè)環(huán)境中運(yùn)行他們想要的多個(gè)LND節(jié)點(diǎn),只有三個(gè)要求:

每個(gè)節(jié)點(diǎn)都必須有自己的專用數(shù)據(jù)目錄

每個(gè)節(jié)點(diǎn)都必須有自己的gRPC / REST端口

每個(gè)節(jié)點(diǎn)必須有自己的一組TLS證書和管理Macaroon

LND創(chuàng)建在啟動(dòng)時(shí)運(yùn)行節(jié)點(diǎn)所需的所有必要數(shù)據(jù)文件,包括身份驗(yàn)證macaroon文件??紤]到這一點(diǎn),在啟動(dòng)第一個(gè)節(jié)點(diǎn)后,您可以簡單地克隆它(并刪除身份驗(yàn)證macaroons / TLS證書,以便在初始化第二個(gè)節(jié)點(diǎn)時(shí)重新創(chuàng)建它們)。對(duì)于macOS用戶,默認(rèn)的LND文件夾位于?/ Library / Application Support / Lnd(NODE A),因此我將其克隆到?/ Library / Application Support / Lnd Test(NODE B)中。

節(jié)點(diǎn)配置

與比特幣核心類似,LND節(jié)點(diǎn)接收稱為lnd.conf的配置文件。為了運(yùn)行兩個(gè)節(jié)點(diǎn),我們需要兩個(gè)文件,放在每個(gè)相應(yīng)的數(shù)據(jù)目錄中,配置節(jié)點(diǎn)以連接到正確的bitcoind實(shí)例。

NODE A將在默認(rèn)數(shù)據(jù)目錄和默認(rèn)設(shè)置(RPC / REST / gRPC端口)上運(yùn)行。我們將使用以下conf文件:

# LND Settings

debuglevel=debug

debughtlc=true

alias=YOUR_NODE_NAME

maxpendingchannels=10

color=#eeeeee

rpclisten=0.0.0.0:10009

restlisten=0.0.0.0:8080

listen=9735

externalip=127.0.0.1:9735

datadir=。/

datatlscertpath=。/tls.cert

tlskeypath=。/tls.key

adminmacaroonpath=。/data/chain/regtest/admin.macaroon

# Bitcoin

bitcoin.active=1

bitcoin.regtest=1

bitcoin.node=bitcoind

# Bitcoind

bitcoind.rpcuser=USERNAME_HERE

bitcoind.rpcpass=PASSWORD_HERE

bitcoind.zmqpubrawblock=tcp://127.0.0.1:28332

bitcoind.zmqpubrawtx=tcp://127.0.0.1:28333

請(qǐng)注意,ZMQ選項(xiàng)和RPC用戶名和密碼必須與先前配置的bitcoind.conf設(shè)置匹配。

除連接端口外,NODE B將具有基本相同的配置設(shè)置。更具體地說,rpclisten,restlisten,listen和externalip屬性都接收新端口。

# LND Settings

debuglevel=debug

debughtlc=true

alias=YOUR_NODE_NAME

maxpendingchannels=10

color=#eeeeee

rpclisten=0.0.0.0:10008

restlisten=0.0.0.0:8090

listen=9736

externalip=127.0.0.1:9736

datadir=。/

datatlscertpath=。/tls.cert

tlskeypath=。/tls.key

adminmacaroonpath=。/data/chain/regtest/admin.macaroon

# Bitcoin

bitcoin.active=1

bitcoin.regtest=1

bitcoin.node=bitcoind

# Bitcoind

bitcoind.rpcuser=USERNAME_HERE

bitcoind.rpcpass=PASSWORD_HERE

bitcoind.zmqpubrawblock=tcp://127.0.0.1:28332

bitcoind.zmqpubrawtx=tcp://127.0.0.1:28333

此時(shí),我們有兩個(gè)LND節(jié)點(diǎn)在不同的數(shù)據(jù)目錄上運(yùn)行,具有自己的一組TLS證書和身份驗(yàn)證宏,并在不同的端口上運(yùn)行。是時(shí)候啟動(dòng)網(wǎng)絡(luò)了。在兩個(gè)單獨(dú)的終端shell中,使用以下命令啟動(dòng)NODE A和NODE B:

lnd --configfile=。/lnd.conf

在另外兩個(gè)shell中,使用lncli工具向您的節(jié)點(diǎn)發(fā)送命令。運(yùn)行以下命令以創(chuàng)建錢包。對(duì)于NODE A,我們只需要運(yùn)行create命令,如下所示:

lncli --network=regtest create

對(duì)于NODE B,我們必須傳遞更多屬性:

lncli --network=regtest --rpcserver=localhost:10008 --lnddir=。/ --tlscertpath=。/tls.cert create

添加的屬性是為了確保第二個(gè)lncli調(diào)用與在端口10008上運(yùn)行的NODE B通信。運(yùn)行錢包創(chuàng)建過程并為每個(gè)錢包創(chuàng)建自己的密碼。

請(qǐng)注意,一旦您創(chuàng)建了錢包,您只需運(yùn)行unlock命令即可開始工作。

LND節(jié)點(diǎn)實(shí)際上做了很多,并且要了解它的所有功能,請(qǐng)轉(zhuǎn)到LND的文檔或運(yùn)行l(wèi)ncli --help來查看幾個(gè)命令。一些更廣泛使用的是:

# Wallet balance, in Satoshis

lncli walletbalance

# Balance of all channels combined, in Satoshis

lncli channelbalance

# Generate Invoice

lncli addinvoice --amt=1000 --memo=testing

# Pay Invoice

lncli payinvoice lnbcrt10u1pdlyp6fpp50xvlxjg.。.

# Connect to specific node URI

lncli connect 03fbe39af6166273.。.@127.0.0.1:9735

# Open channel with to specific node

lncli openchannel 03fbe39af6166273.。.1af2 100000

我們將使用這些命令中的每一個(gè)在我們的兩個(gè)節(jié)點(diǎn)之間發(fā)送LN發(fā)票,但在我們這樣做之前,我們需要在我們的一個(gè)錢包中使用一些實(shí)際的regtest BTC。

將regtest BTC從比特幣核心發(fā)送到LND節(jié)點(diǎn)

您可以使用bitcoin-cli工具將已開采的regtest BTC發(fā)送到NODE A.首先從NODE A內(nèi)部生成一個(gè)新地址:

lncli --network=regtest newaddress np2wkh

然后轉(zhuǎn)到比特幣核心并將一些regtest BTC發(fā)送到該地址。確保生成幾個(gè)區(qū)塊以進(jìn)行挖掘并確認(rèn)交易。

# Send 250 BTC to the LND Address

bitcoin-cli sendtoaddress 2MuKLyJQn2UQ2BaVotWpCKAfXpkrsa96eL7 250

# Mine Blocks

bitcoin-cli generate 10

現(xiàn)在回到NODE A,我們可以獲得我們的錢包余額,并看到我們的BTC已正確轉(zhuǎn)移。

在兩個(gè)lnd節(jié)點(diǎn)之間打開通道

既然我們?cè)贜ODE A內(nèi)有了BTC,我們就可以讓NODE B為節(jié)點(diǎn)A創(chuàng)建一些付款請(qǐng)求。作為Lightning網(wǎng)絡(luò)規(guī)范的一部分,如果節(jié)點(diǎn)想發(fā)送和接收Satoshis,則需要與其他節(jié)點(diǎn)打開通道(通過其他間接節(jié)點(diǎn)路由發(fā)票為C我們可以在真實(shí)的網(wǎng)絡(luò)場景中使用,而不是在我們的兩節(jié)點(diǎn)lnd regtest網(wǎng)絡(luò)中)。

要連接兩個(gè)節(jié)點(diǎn),您需要獲取節(jié)點(diǎn)的公共URI。在NODE B上,運(yùn)行以下命令:

lncli --network=regtest --rpcserver=localhost:10008 --lnddir=。/

--tlscertpath=。/tls.cert getinfo

突出顯示的部分是我們需要用來連接到此節(jié)點(diǎn)的URI。如果您沒有看到列出的URI,可能是因?yàn)槟鷽]有在LND配置文件上設(shè)置externalip屬性。

要在節(jié)點(diǎn)之間打開通道,首先我們需要連接它們。使用NODE B的URI在NODE A上運(yùn)行以下命令。

lncli --network=regtest connect 0394ed661ff.。.92f446@127.0.0.1:9736

我們?nèi)匀粵]有開通任何渠道,因此即使我們嘗試支付發(fā)票,我們也會(huì)遇到路由問題:

作為開通渠道的一部分,LND將在鏈上創(chuàng)建一個(gè)資金交易,設(shè)置一定數(shù)量的satoshis來定這個(gè)新創(chuàng)建的頻道。

lncli --network=regtest openchannel NODE_PUB_KEY amount

要使資金交易有效,您需要運(yùn)行比特幣-cli生成10才能在比特幣核心中挖掘更多的區(qū)塊。此時(shí),您可以在NODE A中運(yùn)行l(wèi)istchannels以查看兩個(gè)節(jié)點(diǎn)之間打開的通道:

lncli --network=regtest listchannels

處理發(fā)票(BOLT11付款請(qǐng)求)

既然NODE A已經(jīng)獲得了一些regtest BTC的資助,并且我們?cè)趦蓚€(gè)節(jié)點(diǎn)之間有一個(gè)活躍的開放通道,我們可以創(chuàng)建一個(gè)發(fā)票來處理一些BTC。

發(fā)票是任何Lightning Network交易的核心。要了解有關(guān)LN發(fā)票(付款請(qǐng)求)和BOLT11規(guī)范的更多信息,請(qǐng)閱讀我的其他文章。

從NODE B,生成300 satoshis的發(fā)票,其中包含‘測試’的說明:

lncli --network=regtest --rpcserver=localhost:10008 --lnddir=。/

--tlscertpath=。/tls.cert addinvoice --amt=300 --memo=testing

突出顯示的部分是BOLT11付款請(qǐng)求哈希。要了解有關(guān)此發(fā)票的更多信息以及我們可以從中解碼的數(shù)據(jù)類型,請(qǐng)轉(zhuǎn)到Lightning Decoder并粘貼您的發(fā)票。

從NODE A,我們可以支付這個(gè)新創(chuàng)建的發(fā)票,并通過我們剛剛打開的通道通過Lightning Network路由付款。

lncli --network=regtest payinvoice lnbcrt3u1pdlygj221k0x.。.c0h503tpr

NODE B現(xiàn)在應(yīng)該在通道的一側(cè)列出300個(gè)satoshis。我們可以使用channelbalance命令檢查它。

lncli --network=regtest --rpcserver=localhost:10008 --lnddir=。/

--tlscertpath=。/tls.cert channelbalance

瞧,我們的300個(gè)satoshis已被轉(zhuǎn)移。

您已成功連接在同一regtest BTC網(wǎng)絡(luò)上運(yùn)行的兩個(gè)LND節(jié)點(diǎn),在它們之間打開了一個(gè)通道,并通過支付BOLT11發(fā)票來交易BTC。通過此設(shè)置,您可以通過這兩個(gè)LND節(jié)點(diǎn)創(chuàng)建無限的實(shí)際付款方案。這樣可以更輕松地對(duì)Lightning網(wǎng)絡(luò)驅(qū)動(dòng)的應(yīng)用程序的后端服務(wù)器邏輯進(jìn)行測試,迭代和故障排除。

現(xiàn)在,要與應(yīng)用程序內(nèi)的節(jié)點(diǎn)連接,請(qǐng)查看LND的gPRC或RESTful API。您還可以利用Alex Bosworth的抽象層,例如LN Service,它可以提供更友好的API。

LNET

在開發(fā)LN應(yīng)用程序時(shí),通常遵循regtest→testnet→mainnet方法,但根據(jù)您的應(yīng)用程序大小和要求,添加額外步驟可能是有意義的。

在2018年Chaincode Lightning Residency的最后一天,來自Blockstream的Christian Decker演示了lnet。 lnet背后的目標(biāo)是簡化初始化LN網(wǎng)絡(luò)拓?fù)湟赃M(jìn)行應(yīng)用程序測試的過程。您需要做的就是以graphviz點(diǎn)格式描述網(wǎng)絡(luò),lnet將負(fù)責(zé)其余部分。這個(gè)庫是基于C-Lightning而不是LND構(gòu)建的,并沒有(但是?)提供與旋轉(zhuǎn)您自己的節(jié)點(diǎn)一樣多的控制、定制和配置—但它確實(shí)有助于使用許多節(jié)點(diǎn)進(jìn)行測試。

結(jié)論

我將繼續(xù)分享這些筆記,因?yàn)槲覍⒗^續(xù)開發(fā)LightWork并進(jìn)一步了解Lightning Network。在下一篇文章中,我希望詳細(xì)介紹用于構(gòu)建LightWork對(duì)分期付款和提款的支持的實(shí)際代碼片段/實(shí)現(xiàn)——真實(shí)世界的源代碼比1000個(gè)單詞更有價(jià)值。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉